python2.x 中,在列表推导式中for关键字之后的赋值操作可能会影响列表推导式上下文中的同名变量,如下所是:
Python 2.7.17 (default, Nov 7 2019, 10:07:09)
[GCC 7.4.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> x = 'my'
>>> dummy = [x for x in 'ABC']
>>> x
'C'Python 3.6.9 (default, Nov 7 2019, 10:44:02)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> x = 'my'
>>> dummy = [x for x in 'ABC']
>>> x
'my' 1. _fields 属性是一个包含这个类所有字段名称的元组
2. 用_make()通过接受一个可迭代对象来生成这个类的一个实例
3. _asdict() 把具名元组以collections.OrdereDict的形式返回
1. 当只有最后一个位置信息是,我们可以快速看出切片和区间里有几个元素,range(3)和my_list[:3]都返回3个元素
2. 当起始位置都可见时,我们可以快速计算出切片和区间的长度,用后面一个数减去第一个下标即可
3. 这样也可以利用任意一个下标来把序列分割成不重叠的俩部分,只要写my_list[:x]和my_list[x:]即可
>>> l=[10, 20, 30, 40,50 ,60]
>>> l[:2] # 在下标2的地方分割
[10, 20]
>>> l[2:]
[30, 40, 50, 60]
>>> l[:3] # 在下标3的地方分割
[10, 20, 30]
>>> l[3:]
[40, 50, 60]