data = {'a':'abc';'b':'bac','c':'cba'} [v for k,v in data] 结果 ['abc','bca','cba']
格式
[x for x in 内容]
[x for x in 内容 if 条件]
- 要把生成的元素x放到前面,执行的时候,先执行后面的for循环
- 后面跟上for循环,可以有多个for循环,也可以在for循环后面再加个if条件
- for循环后面可以是任何方式的迭代器(元祖,列表,生成器..),只要可迭代对象的元素中至少有一个值。
例子
单循环列表生成式
[x for x in 'abcd']
['a','b','c','d']
list = [10,11,12,13]
[x for x in list if x >10] 输出 11,12,13
fields = ['username','name']
sql = "select %s from user" % ','.join(fields) 输出select username,name from user
把字符串拼接为列表
ip = '192.168.1.11'
res = ip.split(".") 结果 res ['192','168','1','11']
把列表拼接为字符串
"."join(res) 结果'192.168.1.11'