我在关注列表中有一个元素:
[0.29839835, [734, 805, 679, 758], 'A']
我需要将其更改为
[0.29839835, 734, 805, 679, 758, 'A']
只需将一组内部元素[734、805、679、758]从一个元素分解为4个元素即可。有线索吗?
答案 0 :(得分:1)
对于您特定的数据结构,可以使用具有三元条件的itertools.chain
:
from itertools import chain
x = [0.29839835, [734, 805, 679, 758], 'A']
res = list(chain.from_iterable([i] if not isinstance(i, list) else i for i in x))
[0.29839835, 734, 805, 679, 758, 'A']
有关通用解决方案,请参见Flatten an irregular list of lists。
答案 1 :(得分:0)
here已回答:
l = [0.29839835, [734, 805, 679, 758], 'A']
a = list()
def flatten(l, a):
for i in l:
if isinstance(i, list):
flatten(i, a)
else:
a.append(i)
return a
print(flatten(l, a))
#[0.29839835, 734, 805, 679, 758, 'A']