标签:down sequence 插入 位置 line nbsp hat box mod
列表的操作相对我还是比较熟悉的,累的时候看一些基础教程,巩固加补充知识点。
随便提示一下,list命令不是函数,是一个类。
列表的切片赋值:
In [1]: name = list(‘sidian‘) In [2]: name[2:] = list(‘ab‘) In [3]: name Out[3]: [‘s‘, ‘i‘, ‘a‘, ‘b‘]
简单的第一个赋值。
name = list(‘wudian‘) In [10]: name[3:] = list(‘python‘) In [11]: name Out[11]: [‘w‘, ‘u‘, ‘d‘, ‘p‘, ‘y‘, ‘t‘, ‘h‘, ‘o‘, ‘n‘]
这是一个超范围的赋值,感觉有点意思。
In [13]: name = list(‘liudian‘) In [14]: name Out[14]: [‘l‘, ‘i‘, ‘u‘, ‘d‘, ‘i‘, ‘a‘, ‘n‘] In [15]: name[2:2] = [1,2,3] In [16]: name Out[16]: [‘l‘, ‘i‘, 1, 2, 3, ‘u‘, ‘d‘, ‘i‘, ‘a‘, ‘n‘]
这个就更加有意思了,在执行的位置宽展列表,我这里写着[2:2]就是第三个元素整个吧赋值的列表元素填进去了。
>>> name = list(‘badian‘) >>> name [‘b‘, ‘a‘, ‘d‘, ‘i‘, ‘a‘, ‘n‘] >>> name[2:5] = [] >>> name [‘b‘, ‘a‘, ‘n‘] >>>
>>> name = list(‘badian‘) >>> del name[2:5] >>> name [‘b‘, ‘a‘, ‘n‘]
两种方式都可以实现删除重点的部分连续列表内元素,我觉的第一种更加装逼效果好
>>> name = list(‘jiudian‘) >>> name[5:2:-2] = [1,2,3,4,5] Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: attempt to assign sequence of size 5 to extended slice of size 2 >>> name[5:2:-2] = [1,2] >>> name [‘j‘, ‘i‘, ‘u‘, 2, ‘i‘, 1, ‘n‘]
>>> name[2:6:3] = [1,2,3,4,5] Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: attempt to assign sequence of size 5 to extended slice of size 2 >>>
最后我尝试了一下用负数的步长,或者正数的步长进行测试,发现一单步长设置值以后,就需要对应元素了,你的设置范围内只能填写两个元素,你也只能给两个元素的列表,多给死给你看。
>>> name[2::-1] = [1,2,3,4,5] Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: attempt to assign sequence of size 5 to extended slice of size 3 >>> name[2::-1] = [1,2] Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: attempt to assign sequence of size 2 to extended slice of size 3
后续又测试了下,反序的时候,很不方便,多给,少给都不行。
>>> name [‘j‘, ‘i‘, 1, 2, 4, 5, 7, 8, ‘n‘] >>> name[2:5] = [7,8] >>> name [‘j‘, ‘i‘, 7, 8, 5, 7, 8, ‘n‘]
最后我试验了一下正序少给的情况,少给了话,元素列表就少,其实想想也对,你给个[](空列表,他全删掉了)
一圈下来,就是没有序列的情况下,正序用切片赋值还是非常实用的,要不然在中间位置插入一串列表的元素,还要写个函数。
标签:down sequence 插入 位置 line nbsp hat box mod
原文地址:https://www.cnblogs.com/sidianok/p/11774520.html