如果索引范围没有获得替换值的完整列表,为什么在将字符串作为列表替换添加时会将其拆分为字母?

2024-10-02 06:25:36 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我创建了以下列表:

desk = ['mouse', 'matchbox', 'laptop', 'water']

当用新字符串替换列表的前两个值时,但对于测试用例,不提供第二个替换字符串值,python会将第一个替换值分解为列表中的单个字母。例如:

desk[0:2] = 'mouse'

desk : ['m', 'o', 'u', 's', 'e', 'laptop', 'water']

我知道这可能永远不会有用,但我只是想弄清楚这背后的逻辑

先谢谢你


Tags: 字符串列表字母测试用例逻辑waterlaptopdesk
1条回答
网友
1楼 · 发布于 2024-10-02 06:25:36

窗体的切片赋值

dest[start:end] = source

大致相当于:

# remove old contents of the slice
for _ in range(start, end):
    dest.pop(start)
# insert replacement in its place
for el in source:
    dest.insert(start, el)

source是一个字符串时,for el in source:表示对字符进行迭代,因此字符串被拆分

如果要使字符串成为单个元素,请将其包装在列表中

desk[0:2] = ['mouse']

相关问题 更多 >

    热门问题