如何在python列表中破坏元素

时间:2018-11-02 09:12:26

标签: python python-3.x pandas list numpy

我在关注列表中有一个元素:

  [0.29839835, [734, 805, 679, 758], 'A']

我需要将其更改为

  [0.29839835, 734, 805, 679, 758, 'A']

只需将一组内部元素[734、805、679、758]从一个元素分解为4个元素即可。有线索吗?

2 个答案:

答案 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']