[英]loop over a list and its sub-strings seperated by comma
有人可以在下面幫助我。 我有一個如下列表。
list = ['INDIA,CHINA,JAPAN','FRANCE,IRELAND,ENGLAND']
我正在嘗試將上面的列表轉換為下面的列表。
newlist = ['INDIA','CHINA','JAPAN','FRANCE','IRELAND','ENGLAND']
我嘗試了split()
,但它不起作用。
newlist = list.split(',')
非常感謝您的幫助。
您應該將split
與列表中的字符串一起使用,而不是列表:
L = ['INDIA,CHINA,JAPAN', 'FRANCE,IRELAND,ENGLAND']
new_L = [x for s in L for x in s.split(',')]
print(new_L)
Output:
['INDIA', 'CHINA', 'JAPAN', 'FRANCE', 'IRELAND', 'ENGLAND']
將變量命名為與 python 關鍵字或內置方法相同絕不是一個好主意。 嘗試將其命名為不同的名稱。 對於這個問題,您不需要任何顯式的 for 循環,有合適的列表方法為您執行此操作:
list_ = ['INDIA,CHINA,JAPAN','FRANCE,IRELAND,ENGLAND']
newlist = ','.join(list_).split(',')
#Output:
['INDIA', 'CHINA', 'JAPAN', 'FRANCE', 'IRELAND', 'ENGLAND']
嘗試這個:
list_ = ['INDIA,CHINA,JAPAN','FRANCE,IRELAND,ENGLAND']
newlist = []
for i in list_:
newlist += i.split(',')
Output :
['INDIA', 'CHINA', 'JAPAN', 'FRANCE', 'IRELAND', 'ENGLAND']
嘗試這個:
list = ['INDIA,CHINA,JAPAN','FRANCE,IRELAND,ENGLAND']
result = []
for i in list :
s = i.split(",")
for j in s :
result.append(j)
print(result)
output:
['INDIA', 'CHINA', 'JAPAN', 'FRANCE', 'IRELAND', 'ENGLAND']
list = ['INDIA,CHINA,JAPAN','FRANCE,IRELAND,ENGLAND']
newlist = []
for item in list:
newlist.extend(item.split(','))
print(newlist)
這將產生:
[“印度”、“中國”、“日本”、“法國”、“愛爾蘭”、“英國”]
您可以使用 List Comprehension 輕松實現此目的
list = ['INDIA,CHINA,JAPAN','FRANCE,IRELAND,ENGLAND']
print([word for string in list for word in string.split(',')])
Output
['INDIA', 'CHINA', 'JAPAN', 'FRANCE', 'IRELAND', 'ENGLAND']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.