免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 8392 | 回复: 5
打印 上一主题 下一主题

新人求助取列表中最大值 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-05-18 14:47 |只看该作者 |倒序浏览
本帖最后由 good_luck_68 于 2013-05-18 14:47 编辑

需求:取列表中的最大值

问题:200大于35,为什么最后返回的还是35?


程序:
  1. x = [10, 8, -1, 100, 200, 35]
  2. mx = x[0]                    
  3. for i in range(len(x)):      
  4.     if x[0]<x[i]:            
  5.         mx = x[i]            
  6.     print '%d: %d' % (i,mx)  
  7. print '最大值:%d' % mx  
复制代码
结果:
  1. 0: 10
  2. 1: 10
  3. 2: 10
  4. 3: 100
  5. 4: 200
  6. 5: 35
  7. 最大值:35
复制代码

论坛徽章:
1
子鼠
日期:2014-05-04 13:59:31
2 [报告]
发表于 2013-05-18 15:31 |只看该作者
本帖最后由 修杰_JIANG 于 2013-05-18 15:31 编辑

你这是 拿 x[0] 和后面的数挨个做 大小比较。 不是求最大值。
  1. (lambda x: max(x))([10, 8, -1, 100, 200, 35])
复制代码

论坛徽章:
0
3 [报告]
发表于 2013-05-18 23:31 |只看该作者
本帖最后由 GhostFromHeaven 于 2013-05-18 23:33 编辑
  1. #-*- coding:utf-8 -*-=
  2. x = [10, 8, -1, 100, 200, 35]
  3. mx = x[0]               
  4. for item in x:
  5.     if mx < item:
  6.         mx = item
  7.     print '%r' % mx
  8. print 'mx:%d' % mx

  9. #直接使用max
  10. print 'max:%d' % max(x)
复制代码

论坛徽章:
0
4 [报告]
发表于 2013-05-20 10:57 |只看该作者
  1. x = [10, 8, -1, 100, 200, 35]
  2. x.sort()
  3. for i,t in enumerate(x):
  4.     print i,':',t
  5. print 'max:',max(x)
复制代码

论坛徽章:
0
5 [报告]
发表于 2013-05-29 13:10 |只看该作者
In [11]: x=[10,8,-1,100,200,35]

In [12]: x.sort()

In [13]: list(x)
Out[13]: [-1, 8, 10, 35, 100, 200]

In [14]: x[-1]
Out[14]: 200

In [15]:

不知道我这个可以吗

论坛徽章:
1
NBA常规赛纪念章
日期:2015-05-04 22:32:03
6 [报告]
发表于 2013-05-31 15:20 |只看该作者
x = [10, 8, -1, 100, 200, 35]
max(x)

直接使用built-in function help(max)
2楼太装了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP