中易网

python _ x for x in x

答案:1  悬赏:20  
解决时间 2021-01-30 16:36
python _ x for x in x
最佳答案
链表推导式

链表推导式提供了一个创建链表的简单途径,无需使用 map(), filter() 以及 lambda。返回链表的定义通常要比创建这些链表更清晰。每一个链表推导式包括在一个for语句之后的表达式,零或多个for或if语句。返回值是由for或if子句之后的表达式得到的元素组成的链表。如果想要得到一个元组,必须要加上括号。

>>> freshfruit = ['banana', 'loganberry ', 'passion fruit']
>>> [weapon.strip() for weapon in freshfruit]
['banana', 'loganberry', 'passion fruit']
>>> vec = [2, 4, 6]
>>> [3*x for x in vec]
[6, 12, 18]
>>> [3*x for x in vec if x > 3]
[12, 18]
>>> [3*x for x in vec if x < 2]
[]
>>> [[x,x**2] for x in vec]
[[2, 4], [4, 16], [6, 36]]
>>> [x, x**2 for x in vec]# error - parens required for tuples
File "", line 1, in ?
[x, x**2 for x in vec]
^
SyntaxError: invalid syntax
>>> [(x, x**2) for x in vec]
[(2, 4), (4, 16), (6, 36)]
>>> vec1 = [2, 4, 6]
>>> vec2 = [4, 3, -9]
>>> [x*y for x in vec1 for y in vec2]
[8, 6, -18, 16, 12, -36, 24, 18, -54]
>>> [x+y for x in vec1 for y in vec2]
[6, 5, -7, 8, 7, -5, 10, 9, -3]
>>> [vec1[i]*vec2[i] for i in range(len(vec1))]
[8, 12, -54]
为使链表推导式匹配for循环的行为,可以在推导之外保留循环变量:

>>> x = 100 # this gets overwritten
>>> [x**3 for x in range(5)]
[0, 1, 8, 27, 64]
>>> x # the final value for range(5)

摘自
Python handbook
Guido van Rossum
Fred L. Drake, Jr., editor
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
达到第一志愿学校复试分数线尚没复试还可以同
用什么设备看漫画最好
奥迪a4 空调不制冷说什么空调模块坏了
我早白发,想知道怎么吃制首乌有功效,谢谢
待处理财产损益,课本上说处理前,贷方登记存
收获日2里面武器皮肤的符号是什么意思
同码的阿迪达斯鞋子与新百伦的相比是不是要小
vivo手机随机赠送的2张NFC卡有什么用 一张蓝
七雄争霸,求无盐皇后历史,急求
T-34在二战中,参加过的著名战役?
在采集总悬浮颗粒物样品时应注意什么
1千克大米约有4000粒每人每天节约1粒大米全国
古代的乡亭里村保甲镇坊市的大小排序
2√2等于什么? √2乘√2等于什么?
天锐绿盾加密如何使自行研发的软件生成加密文
推荐资讯
手机运行内存2g和3g差200元值得买吗
关于人命案,从刑警立案侦查到法院开庭审理需
昆山与安亭交界是哪?
打免费电话所需要的电脑配置?
给想一想几个震撼人心的激发爱国热情的词,比
地球上是否真有奥特曼的存在??
为什么有些人的百度ID可以加符号,而我的却不
朝鲜光海君为什么不是皇帝
想要让爸妈隐约知道我有男朋友,这该怎么跟爸
请问重庆九龙坡工业园A、B、C三区分别在哪里
江苏盐城有什么好玩的地方啊
为什么这么多人对我评价不好,备受诟病
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?