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

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}
>>> 





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值