我在我的桌面上運行這段代碼,然后我輸入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']
uj5u.com熱心網友回復:
正如評論所述,在執行 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']
uj5u.com熱心網友回復:
由于您正在進行切片分配,因此源將被視為序列。切片[1:3]將分別被源序列的每個元素替換。
當字串用作序列時,每個字符都是一個單獨的元素,因此它會被拆分并插入到串列中。
如果您想用整個字串替換切片,請將其包裝在一個串列中。
fruits[1:3] = [input('Enter a fruit:')]
uj5u.com熱心網友回復:
按照 Barmar 的評論,試試這個代碼。
fruits = ['apple','pine','grape','mango','orange']
fruits[1:3] = [input('Enter a fruit:')]
print(fruits)
它將有效地替換陣列中的第二個和第三個元素(我假設你想要實作的)
uj5u.com熱心網友回復:
將您的輸入顯式轉換為串列,然后分配給您的原始串列。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/407425.html
標籤:
下一篇:如何連接由回圈拆分的檔案?
