为什么我得到这种输出?
Why I'm getting this kind of output?
我在桌面上 运行 这段代码,然后输入 watermelon
和代码 运行 好的,但是它将西瓜一个字母一个字母地拆分
fruits = ['apple','pine','grape','mango','orange']
fruits[1:3] = input('Enter a fruit:')
print(fruits)
输出:
Enter a fruit: watermelon
['apple','w','a','t','e','r','m','e','l','o','n','mango',orange']
预期输出:
['apple','watermelon','mango','orange']
明确地将您的输入转换为列表,然后分配给您的原始列表。
根据 Barmar 的评论,尝试此代码。
fruits = ['apple','pine','grape','mango','orange']
fruits[1:3] = [input('Enter a fruit:')]
print(fruits)
它将有效地替换数组中的第二个和第三个元素(我假设你想要实现的)
由于您正在进行切片分配,源将被视为一个序列。切片 [1:3]
将分别替换为源序列的每个元素。
当字符串用作序列时,每个字符都是一个单独的元素,因此它被拆分并插入到列表中。
如果要用整个字符串替换切片,请将其包装在列表中。
fruits[1:3] = [input('Enter a fruit:')]
正如评论所述,当执行 fruits[1:3] 时,您正在创建一个切片赋值,它将输入的单词切片并将其存储在 1 和 2 索引中(不包括 3)。
如果您只是想在水果数组中添加另一个水果,
fruits = ['apple','pine','grape','mango','orange']
fruit = input('Enter a fruit: ')
fruits.append(fruit)
print(fruits)
或者,如果你真的想替换第 2 和第 3 个地方,你可以这样做,
fruits = ['apple','pine','grape','mango','orange']
fruits[1:3] = [input('Enter a fruit: ')]
print(fruits)
这将产生,
['apple', 'watermelon', 'mango', 'orange']
我在桌面上 运行 这段代码,然后输入 watermelon
和代码 运行 好的,但是它将西瓜一个字母一个字母地拆分
fruits = ['apple','pine','grape','mango','orange']
fruits[1:3] = input('Enter a fruit:')
print(fruits)
输出:
Enter a fruit: watermelon
['apple','w','a','t','e','r','m','e','l','o','n','mango',orange']
预期输出:
['apple','watermelon','mango','orange']
明确地将您的输入转换为列表,然后分配给您的原始列表。
根据 Barmar 的评论,尝试此代码。
fruits = ['apple','pine','grape','mango','orange']
fruits[1:3] = [input('Enter a fruit:')]
print(fruits)
它将有效地替换数组中的第二个和第三个元素(我假设你想要实现的)
由于您正在进行切片分配,源将被视为一个序列。切片 [1:3]
将分别替换为源序列的每个元素。
当字符串用作序列时,每个字符都是一个单独的元素,因此它被拆分并插入到列表中。
如果要用整个字符串替换切片,请将其包装在列表中。
fruits[1:3] = [input('Enter a fruit:')]
正如评论所述,当执行 fruits[1:3] 时,您正在创建一个切片赋值,它将输入的单词切片并将其存储在 1 和 2 索引中(不包括 3)。
如果您只是想在水果数组中添加另一个水果,
fruits = ['apple','pine','grape','mango','orange']
fruit = input('Enter a fruit: ')
fruits.append(fruit)
print(fruits)
或者,如果你真的想替换第 2 和第 3 个地方,你可以这样做,
fruits = ['apple','pine','grape','mango','orange']
fruits[1:3] = [input('Enter a fruit: ')]
print(fruits)
这将产生,
['apple', 'watermelon', 'mango', 'orange']