列表含有子列表展开成一个列表

  1. 元素都为列表:
    listA = [['a'], ['b'], ['c', 'd']]
    展开成listA1 = ['a', 'b', 'c', 'd']
    命令:
    listA1 = sum(listA, [])
    因为sum第二个参数的默认值是0, 0不能和列表相加,所以需要加入参数[]
  2. 元素包含str, 列表等类型:
    此时sum方法就不行了。
    listB = ['a', ['b'], ['c', 'd']]
    展开成listB1 = ['a', 'b', 'c', 'd']
    命令:
    listB1 = [x for j in listB for x in j]

运行结果:

    1.
In [10]: listA = [['a'], ['b'], ['c', 'd']]

In [11]: listA1 = sum(listA, [])

In [12]: print listA1
['a', 'b', 'c', 'd']

2.

In [20]: listB = ['a', ['b'], ['c', 'd']]

In [21]: listB1 = [x for j in listB for x in j]

In [22]: print listB1
['a', 'b', 'c', 'd']

猜你喜欢

转载自blog.csdn.net/tmaccs/article/details/82559652