[python语法语义] Python列表妙用,充分体现语法精练

咖啡舞者 2007-08-21
去掉列表中每个元素头尾的空格
>>> freshfruit = ['  banana', '  loganberry ', 'passion fruit  ']
>>> [str.strip() for str in freshfruit]
['banana', 'loganberry', 'passion fruit']

把列表中,大于3的元素,乘以2
>>> vec = [2, 4, 6]
>>> [2*x for x in vec if x > 3]
[8, 12]

把列表1的每一个元素和列表2的每一个元素相乘
>>> lst1 = [2, 4, 6]
>>> lst2 = [4, 3, -9]
>>> [x*y for x in lst1 for y in lst2]
[8, 6, -18, 16, 12, -36, 24, 18, -54]

获取[0-10)的平方
[x**2 for x in range(10)]


map(lambda x : x*x, range(10))

获取[0-10)中奇数的平方
[x**2 for x in filter( lambda x : x%2, range(10) )]
Lich_Ray 2007-08-21
入门百分百~`鉴定完毕。
白发红颜 2007-08-29
哈哈~~
是这样的, 从别的语言转过来的时候, 看到Python那些让人激赏的能力都有一种冲动要讲给别人听.
ahuaxuan 2007-11-09
咖啡舞者 写道
去掉列表中每个元素头尾的空格
>>> freshfruit = ['  banana', '  loganberry ', 'passion fruit  ']
>>> [str.strip() for str in freshfruit]
['banana', 'loganberry', 'passion fruit']

把列表中,大于3的元素,乘以2
>>> vec = [2, 4, 6]
>>> [2*x for x in vec if x > 3]
[8, 12]

把列表1的每一个元素和列表2的每一个元素相乘
>>> lst1 = [2, 4, 6]
>>> lst2 = [4, 3, -9]
>>> [x*y for x in lst1 for y in lst2]
[8, 6, -18, 16, 12, -36, 24, 18, -54]

获取[0-10)的平方
[x**2 for x in range(10)]


map(lambda x : x*x, range(10))

获取[0-10)中奇数的平方
[x**2 for x in filter( lambda x : x%2, range(10) )]


搂主多发点这种例子用法,我觉得挺好的,毕竟在国内会python的人很少,而且这里也不是java版区,我建议开几个贴专门讨论python入门的知识,这样对我们这些想学的入门者的帮助是很大的,再次感谢楼主
Lich_Ray 2007-11-10
白发红颜 写道
哈哈~~
是这样的, 从别的语言转过来的时候, 看到Python那些让人激赏的能力都有一种冲动要讲给别人听.

哼。
etng 2008-05-24
学而时习之,不亦悦乎。很多东西当时记住了后面总要漏点什么,比如两个for同时用,我就忘记了。
liusu 2008-05-26
有个比较有意思的项目大家一起来做,对于学习才是最好的帮助。我觉得!
zbird 2008-05-26
python的list确实很强。
可以将其他语言要很多行的东西写成一行。

但事实上,复杂度还是一样的。
没什么本质上的区别。
gm8pleasure 2008-05-26
确实是入门经典
meizhini 2008-06-29
从一点点来看python没有什么好处的.多在工作中实际应用就知道它的好处了.平时学学是弄不出什么效果来的.python可以帮你做很多的事情.
Global site tag (gtag.js) - Google Analytics