列表中很少有元素包含方括号,我想替换这些元素的括号



列表中的几个元素包含方括号,我想替换这些元素的括号。

我正在使用Python 3来解决这个问题

列表:-

['Europe',
'Indonesia',
'Singapore',
'United Kingdom',
['United States of America'],
'New Zealand',
'Singapore',
'Canada',
['South America', 'South America', 'South America', 'South America'],
'Australia']

预期列表:-

['Europe',
'Indonesia',
'Singapore',
'United Kingdom',
'United States of America',
'New Zealand',
'Singapore',
'Canada',
'South America', 'South America', 'South America', 'South America',
'Australia']

你基本上在列表中有列表,你可以尝试类似这个函数。它将查看您是否有子列表,如果有,它将提取该子列表中的所有元素并将它们添加到return_list

def clean_list(list):
return_list = []
for i in list:
if type(i) == list:
for j in i:
return_list.append(j)
else:
return_list.append(i)
return return_list

正如@Chris Turgeon之前指出的那样,列表中有一个列表。这是我在类似情况下使用过的东西。本质上,我使用pop修改原始列表,并在循环访问原始列表时使用枚举。

firstList = ['Europe',
'Indonesia',
'Singapore',
'United Kingdom',
['United States of America'],
'New Zealand',
'Singapore',
'Canada',
['South America', 'South America', 'South America', 'South America'],
'Australia']
for index, item in enumerate(firstList):
if isinstance(item, list):
firstList.pop(index)
for listTwoItem in item:
firstList.insert(index, listTwoItem)
index += 1

最新更新