色彩时光 | 记录程序员世界的点点滴滴

python学习日志_列表解析


python 列表解析能够在一行代码中对列表以及字符串进行计算或获得想要的数据格式等,比较大的缩减了代码的开发量。



#定义M三维列表
>>> M=[[1,2,3],[4,5,6],[7,8,9]]
#遍历M列表的每一行列表并获取每行列表下标为1的值组成新列表
>>> print [row[1] for row in M]
[2, 5, 8]
#遍历M列表的每一行列表并获取每行列表下标为1的值过滤奇数组成新列表
>>> print [row[1] for row in M if row[1]%2==0]
[2, 8]
#下标M[0][0],M[1][1],M[2][2]的值组成新的列表
>>> print [M[i][i] for i in [0,1,2]]
[1, 5, 9]
#遍历字符串'rgbtime'的每个字符并重复字符组成新列表 
>>> print [c*2 for c in 'rgbtime']
['rr', 'gg', 'bb', 'tt', 'ii', 'mm', 'ee']
#M列表每行的元素值之和
>>> G=(sum(row) for row in M)
>>> next(G)
6
>>> next(G)
15
#M列表每行的元素值之和并组成新列表
>>> list(map(sum,M))
[6, 15, 24]
>>> map(sum,M)
[6, 15, 24]
>>> {sum(row) for row in M}
set([24, 6, 15])
#每行下标与M列表每行的元素值之和组成新字典
>>> {i:sum(M[i]) for i in range(3)}
{0: 6, 1: 15, 2: 24}
#遍历'spaam'每个字符与对应ascii值组成新字典,字典默认已去重
>>> {x:ord(x) for x in 'spaam'}
{'a': 97, 'p': 112, 's': 115, 'm': 109}
#遍历'spaam'每个字符的ascii值组成新列表
>>> [ord(x) for x in 'spaam']
[115, 112, 97, 97, 109]


您可能也对下面文章感兴趣:

Write a Comment


* Content (required) 10~500s

分类

热门标签

友情链接