У меня есть список списков в таком виде:

[
  ['3', ',', '1', ',', '0', ',', '2', ',', '0'],
  ['2', ',', '1', ',', '0', ',', '0', ',', '0'],
  ['0', ',', '1', ',', '0', ',', '3', ',', '0']
]

Я пытаюсь поместить его в плоский список, где каждый элемент является содержимым каждого содержимого подсписка в виде одной строки в новом списке:

['3,1,0,2,0', '2,1,0,0,0', '0,1,0,3,0']

Я пробовал это:

for subs in newBallots:
  for i in subs:
     transferedBallots.append(str(i))

Но он делает каждый символ только в своем собственном элементе списка:

['3', ',', '1', ',', '0', ',', '2', ',', '0', '2', ',', '1', ',', '0', ',', '0', ',', '0', '0', ',', '1', ',', '0', ',', '3', ',', '0']

Какие-либо предложения?

1
DrinkWindex 5 Дек 2020 в 17:30

2 ответа

Лучший ответ

Понимание списка должно работать. Я предполагаю, что запятая в подсписке часто является элементом, который вы хотите удалить. В противном случае это может быть другой список, который нужно проверить.

my_list=[['3', ',', '1', ',', '0', ',', '2', ',', '0'], ['2', ',', '1', ',', '0', ',', '0', ',', '0'], ['0', ',', '1', ',', '0', ',', '3', ',', '0']]
my_list_concat=[",".join([v1 for v1 in v if v1 != ","]) for v in my_list]

Выход:

>>> my_list_concat
['3,1,0,2,0', '2,1,0,0,0', '0,1,0,3,0']
0
sudhish 5 Дек 2020 в 15:49
for subs in newBallots:
  transferedBallots.append("".join(subs))
0
ΔO 'deltazero' 5 Дек 2020 в 15:42