当前位置:   article > 正文

如何在Python中串联两个列表?_通过扩展列表,将两个列表串接

通过扩展列表,将两个列表串接

如何在Python中串联两个列表?

例:

  1. listone = [1, 2, 3]
  2. listtwo = [4, 5, 6]

预期结果:

  1. >>> joinedlist
  2. [1, 2, 3, 4, 5, 6]

#1楼

您还可以使用extend来将list添加到另一个list的末尾:

  1. listone = [1,2,3]
  2. listtwo = [4,5,6]
  3. mergedlist = []
  4. mergedlist.extend(listone)
  5. mergedlist.extend(listtwo)

#2楼

值得注意的是, itertools.chain函数接受可变数量的参数:

  1. >>> l1 = ['a']; l2 = ['b', 'c']; l3 = ['d', 'e', 'f']
  2. >>> [i for i in itertools.chain(l1, l2)]
  3. ['a', 'b', 'c']
  4. >>> [i for i in itertools.chain(l1, l2, l3)]
  5. ['a', 'b', 'c', 'd', 'e', 'f']

如果输入一个可迭代的(元组,列表,生成器等),则可以使用from_iterable类方法:

  1. >>> il = [['a'], ['b', 'c'], ['d', 'e', 'f']]
  2. >>> [i for i in itertools.chain.from_iterable(il)]
  3. ['a', 'b', 'c', 'd', 'e', 'f']

#3楼

您可以简单地使用++=运算符,如下所示:

  1. a = [1, 2, 3]
  2. b = [4, 5, 6]
  3. c = a + b

要么:

  1. c = []
  2. a = [1, 2, 3]
  3. b = [4, 5, 6]
  4. c += (a + b)

另外,如果您希望合并列表中的值唯一,则可以执行以下操作:

c = list(set(a + b))

#4楼

您可以使用+运算符组合它们:

  1. listone = [1,2,3]
  2. listtwo = [4,5,6]
  3. joinedlist = listone + listtwo

输出:

  1. >>> joinedlist
  2. [1,2,3,4,5,6]

#5楼

这很简单,我认为它甚至在本教程中已显示:

  1. >>> listone = [1,2,3]
  2. >>> listtwo = [4,5,6]
  3. >>>
  4. >>> listone + listtwo
  5. [1, 2, 3, 4, 5, 6]

#6楼

也可以创建一个生成器,使用itertools.chain()简单地遍历两个列表中的项目。 这使您可以将列表(或任何可迭代的)链接在一起进行处理,而无需将项目复制到新列表中:

  1. import itertools
  2. for item in itertools.chain(listone, listtwo):
  3. # Do something with each list item

#7楼

您可以使用在list对象上定义的append()方法:

  1. mergedlist =[]
  2. for elem in listone:
  3. mergedlist.append(elem)
  4. for elem in listtwo:
  5. mergedlist.append(elem)

#8楼

如果您需要使用复杂的排序规则合并两个有序列表,则可能需要像下面的代码一样滚动它(使用简单的排序规则以提高可读性

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/759537
推荐阅读
相关标签
  

闽ICP备14008679号