簡體   English   中英

循環遍歷列表及其以逗號分隔的子字符串

[英]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.

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