我不理解下面的Python代码如何使用
b[:0] = a
将一个字符串拆分为单个字符。难道不应该只有b = ['abc']
吗?a='abc'
b=[]
b[:0]=a
print(b)
输出:
b=[a,b,c]
您甚至不需要[:0]
,
list(a) # ['a', 'b', 'c']
b = []
b[:] = a # ['a', 'b', 'c']
__setitem__
操作,因此在本例中,它将右侧项目放置在切片的开头。请看以下示例:>>> a = [1,2,3,4]
>>> b = [5,6,7,8]
>>> b[3:5] = a
>>> print(b)
[5, 6, 7, 1, 2, 3, 4]
这里有两个因素在起作用
当你执行
b[:0] = <something>
b[1:3] = ['a', 'b', 'c']
然后,索引为1
和2
的项将被右侧的项目替换。
尝试以下操作:
b = []
b[:0] = [1, 2, 3]
b[:0] = "abc"
由于右侧的项目必须是一个序列,因此字符串被解包为['a','b','c']
,然后将它们插入到列表的开头