您的位置:首页 > 编程语言 > Python开发

python一些基本知识点之列表(二)

2014-06-04 09:18 211 查看
Python的列表对象是这个语言提供的最通用的序列。

列表是一个任意类型的对象的位置的相关的集合,它没有固定的大小,其大小是可以改变的,通过对偏移量进行赋值以及其他各种列表的方法进行调用,确实能够修改列表的大小。

例如:有三个元素的列表,我们能够对列表进行索引、切片等操作,就像对字符串的操作一样。

>>> L = [123,'spam',1.23]
>>> len(L)
3


>>> L.append('NI')
>>> L
[123, 'spam', 1.23, 'NI']
>>> L.pop
<built-in method pop of list object at 0x00B0DEB8>
>>> L.pop(2)
1.23
>>> L
[123, 'spam', 'NI']
>>>


>>> M = ['bb','aa','cc']
>>> M.sort()//排序
>>> M
['aa', 'bb', 'cc']
>>> M.reverse() //翻转
>>> M
['cc', 'bb', 'aa']
>>>
Python嵌套:支持任意类型的嵌套。

>>> M = [[1,2,3],
     [4,5,6],
     [7,8,9]]

>>> M
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> M[1]
[4, 5, 6]
>>> M[1][2]
6
>>> col2 = [row[1] for row in M]#这里的row是自定义的,可以为任意的字母
>>> col2
[2, 5, 8]
>>> A = [row[1] + 1 for row in M]
>>> A
[3, 6, 9]
>>> [row[1] for row in M if row[1]%2 == 0]#过滤奇数
[2, 8]
>>>
这个地方弄的很迷惑??为啥都是输出的列?怎么输出行呢?
>>> [col[1] for col in M]
[2, 5, 8]
>>> [col[2] for col in M]
[3, 6, 9]
>>> [c[1] for c in M]
[2, 5, 8]


>>> diag = [M[i][i] for i in [0,1,2]]#输出0行0列,1行1列,2行2列
>>> diag
[1, 5, 9]
>>> double = [a*2 for a in 'spam']
>>> double
['ss', 'pp', 'aa', 'mm']
>>> G = (sum(row) for row in M)
>>> G
<generator object <genexpr> at 0x011F6FA8>
>>> next(G)
6
>>> next(G)
15
>>> list(map(sum,M))
[6, 15, 24]
>>> {sum(row) for row in M}#集合
set([24, 6, 15])
>>> {i:sum(M[i]) for i in range(3)}#字典
{0: 6, 1: 15, 2: 24}
>>>
列表、集合、字典

>>> [ord(x) for x in 'spaam']
[115, 112, 97, 97, 109]
>>> {ord(x) for x in 'spaam'}
set([112, 97, 115, 109])
>>> {x:ord(x) for x in 'spaam'}
{'a': 97, 'p': 112, 's': 115, 'm': 109}
>>>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐