перебрать список и его подстроки, разделенные запятой - PullRequest
0 голосов
/ 20 сентября 2019

Может кто-нибудь помочь мне с ниже.У меня есть список, подобный приведенному ниже.

list = ['INDIA,CHINA,JAPAN','FRANCE,IRELAND,ENGLAND']

Я пытаюсь преобразовать приведенный выше список в приведенный ниже.

newlist = ['INDIA','CHINA','JAPAN','FRANCE','IRELAND','ENGLAND']

Я пробовал split(), который не работает.

newlist = list.split(',')

Большое спасибо за вашу помощь.

Ответы [ 6 ]

2 голосов
/ 20 сентября 2019

Никогда не рекомендуется называть переменные ключевыми словами или встроенными методами python.Попробуйте назвать это как-то иначе.Для этой проблемы вам не нужны явные циклы for, для этого есть подходящие методы списка:

list_ = ['INDIA,CHINA,JAPAN','FRANCE,IRELAND,ENGLAND']
newlist = ','.join(list_).split(',')

#Output:
['INDIA', 'CHINA', 'JAPAN', 'FRANCE', 'IRELAND', 'ENGLAND']
2 голосов
/ 20 сентября 2019

Вы должны использовать split со строками в списке, а не в списке:

L = ['INDIA,CHINA,JAPAN', 'FRANCE,IRELAND,ENGLAND']
new_L = [x for s in L for x in s.split(',')]
print(new_L)

Вывод:

['INDIA', 'CHINA', 'JAPAN', 'FRANCE', 'IRELAND', 'ENGLAND']
0 голосов
/ 20 сентября 2019

Вы можете использовать списочное понимание, чтобы легко достичь этого

list = ['INDIA,CHINA,JAPAN','FRANCE,IRELAND,ENGLAND']
print([word for string in list for word in string.split(',')])

Выход

['INDIA', 'CHINA', 'JAPAN', 'FRANCE', 'IRELAND', 'ENGLAND']
0 голосов
/ 20 сентября 2019
list = ['INDIA,CHINA,JAPAN','FRANCE,IRELAND,ENGLAND']
newlist = []
for item in list:
    newlist.extend(item.split(','))
print(newlist)

Это даст:

['ИНДИЯ', 'КИТАЙ', 'ЯПОНИЯ', 'ФРАНЦИЯ', 'ИРЛАНДИЯ', 'АНГЛИЯ']

0 голосов
/ 20 сентября 2019

попробуйте это:

list = ['INDIA,CHINA,JAPAN','FRANCE,IRELAND,ENGLAND']

result = []

for i in list : 
  s = i.split(",") 
  for j in s : 
      result.append(j)

print(result)

вывод:

['INDIA', 'CHINA', 'JAPAN', 'FRANCE', 'IRELAND', 'ENGLAND']
0 голосов
/ 20 сентября 2019

Попробуйте:

list_ = ['INDIA,CHINA,JAPAN','FRANCE,IRELAND,ENGLAND']
newlist = []
for i in list_:
   newlist += i.split(',')

Вывод :

['INDIA', 'CHINA', 'JAPAN', 'FRANCE', 'IRELAND', 'ENGLAND']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...