簡體   English   中英

您可以將字符串中的字符添加到列表中嗎?

[英]Can you add characters from a string to a list?

我想知道是否可以獲取一個字符串,例如str(input())並將其拆分為單獨的char ,然后將它們添加到list 我正在嘗試制作一個簡單的腳本(類似於劊子手游戲),一開始我寫了這個:

x=input('Choose word: ').lower()
letters=[]
letters.append(list(x))
print(letters)

但是這段代碼將整個list附加到一個list而不是單個char s

編輯:這輸出[['o', 'u', 't', 'p', 'u', 't']]意味着整個列表被附加為一個項目,但我想要這個 output ['o', 'u', 't', 'p', 'u', 't'] ,我如何使它成為 append 單個字符而不是整個列表

您只是將 char 列表包裝在另一個列表中。

試試這個單線:

print(list(x))

如果要刪除字符:

letters = list(x)
letters.remove('o')
print(letters)

使用擴展而不是 append function。

#Extend
x=input('Choose word: ').lower()
letters=[]
letters.extend(list(x))
print(letters)

# ['p', 'y', 't', 'h', 'o', 'n']

並且要從列表中刪除一個字符,同時在刪除后將 position 保留為空白,請在列表中使用替換:

y=input("Choose a letter to remove: ").lower()
removed=[s.replace(y,'') for s in letters]
print(removed)

#['p', '', 't', 'h', 'o', 'n']

我希望這會有所幫助,除非它與您想要的不同。 然后告訴我。 否則,快樂編碼!

您不需要創建一個空列表,然后用單個字母填充它。 只需直接應用list() function 供用戶輸入創建它:

letters = list(input('Choose word: ').lower())
print(letters)

要添加來自其他用戶輸入的字母,請使用與.extend()方法相同的方法:

letters.extend(input('Choose word: ').lower())        # No need to use list() here

一個簡單的襯里:

x = input().lower().split()
print(x)

在這里,我們接受輸入,然后我們轉換為小寫,然后使用拆分 function 將字符串拆分為空格您可以將字符串拆分為您喜歡的任何字符串,只需將要拆分的字符串作為參數在拆分 function 例如:

x = input().lower().split(',')
print(x)

這將在“,”上拆分,因此您可以提供 csv 格式的輸入

您可以使用+運算符(最好以增強賦值語句的形式,即+= ,將列表擴展為可迭代的。

這里不需要使用list() function,因為字符串是可迭代的:

letters = []
letters += input('Choose word: ').lower()
print(letters)

這輸出[['o', 'u', 't', 'p', 'u', 't']]意味着整個列表被附加為一個項目,但我想要這個 output ['o', 'u', 't', 'p', 'u', 't']

根據您的評論,您可以使用:

x = [*input('Choose word: ').lower()]
print(x)
# ['p', 'y', 't', 'h', 'o', 'n']

演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM