先举例分析运行过程:
例如:#将list_a=[1,2,3,4,5]元素扩大10倍,生成新的列表。
如果按传统的for循环来写:
--------------------
list_a=[1,2,3,4,5]
list_b=[]
for x in list_a:
list_b.append(x*10)
print(list_b)
输出:[10, 20, 30, 40, 50]
--------------------
用列表推导式来写:
--------------------
list_a=[1,2,3,4,5]
list_b=[x*10 for x in list_a]
print(list_a)
输出:[10, 20, 30, 40, 50]
--------------------
比较看出,列表推导式像是for循环语句;
可以简单的理解为:
每次取出列表中的元素赋值给x,和10相乘,计算后生成新的元素。新元素组成新列表;
根据这个思路再写个例子;
--------------------
items=['经验','知道','新闻','百科','贴吧']
bd_items=['百度-'+x for x in items]
print(bd_items)
输出:['百度-经验', '百度-知道', '百度-新闻', '百度-百科', '百度-贴吧']
--------------------
每次取出列表中的一个元素赋值给x和字符串‘百度-’搭配,组成一个新的列表。
貌似和for循环语句没什么区别。