![](/img/trans.png)
[英]Can you create a Python list from a string, while keeping characters in specific keywords together?
[英]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.