[英]Convert this string to int list
所以我將這段代碼用Python編寫:
def gestionliste():
liste_usager = input("Veuillez entrer la liste d'entiers:") #this ask the user to enter number(s) of his choice
liste_usager=liste_usager.split(' ')
print(liste_usager)
但是,例如,如果用戶輸入:2 3 4,它將得到字符串[“ 2”,“ 3”,“ 4”]。 但是,我想使此列表成為像[2,3,4]這樣的整數列表,而不是字符串。我該如何做/轉換? 我嘗試了該地圖操作,但對我不起作用。
非常感謝!
您可以使用列表推導將數字轉換為整數:
liste_usager = input("Veuillez entrer la liste d'entiers:")
liste_usager = [int(n) for n in liste_usager.split(' ')]
print(liste_usager)
請參見下面的演示:
>>> liste_usager = input(":")
:2 3 4
>>> liste_usager = [int(n) for n in liste_usager.split(' ')]
>>> print(liste_usager)
[2, 3, 4]
>>> print(type(liste_usager[0]))
<class 'int'>
>>>
編輯:
列表理解是一種單行解決方案,等效於執行以下操作:
liste_usager = input("Veuillez entrer la liste d'entiers:")
lst = [] # A list to hold the numbers
for n in liste_usager.split(' '): # For each item in liste_usager.split(' ')
n = int(n) # Convert it into an integer
lst.append(n) # And add it to lst
liste_usager = lst # Reassign liste_usager to lst
print(liste_usager)
使用空格(包括空格字符)作為分隔符。 如果用戶輸入的任何值都不能轉換為整數(例如逗號,小數和字母),則將失敗。
map(int, liste_usager.split())
您可能會更好:
numbers = []
bad_values = []
for n in liste_usager.split():
try:
numbers.append(int(n))
except ValueError, e:
bad_values.append(n)
return numbers
您可以始終使用以下命令:
integers_list=map(int,liste_usager.split())
如果輸入為1 2 3 4
,它將以[1,2,3,4]
形式給出ua整數列表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.