切片、迭代、列表生成式、生成器、迭代器

切片

l = [1, 2, 3, 4]

对应上面的问题,取前3个元素,用一行代码就可以完成切片:

>>> L[0:3]

L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3

既然Python支持L[-1]取倒数第一个元素,那么它同样支持倒数切片

l[:]

复制一个列表

l[::2]

每隔两个取一个数


1、写循环的时候既可以用while也可以用if


迭代

通过for 循环来迭代列表或元祖,这种遍历我们称为Iteration

dict的存储不是按照list的方式顺序排列,所以,迭代出的结果顺序很可能不一样。

默认情况下,dict迭代的是key。如果要迭代value,可以用for value in d.values(),如果要同时迭代key和value,可以用for k, v in d.items()

可以用collections模块的Iterable类型判断是否可迭代

实现下标循环可以用python内置的enumerate函数把一个list编程索引-元素对:

>>> for i, value in enumerate(['A', 'B', 'C']):
...     print(i, value)
...
0 A
1 B
2 C

列表生成式 List Comprehensions

要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]可以用list(range(1, 11))

可以运用表达式,来生成列表,生成式中也可以使用条件语句来进行筛选

可以使用两层循环来生成全排列:

>>> [m + n for m in 'ABC' for n in 'XYZ']
['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值