在python中如何将两个list合并成一个list,不用for语句

2024-12-05 00:46:51
推荐回答(4个)
回答1:

1、运算符:

list1 = [1, 2, 3]

list2 = [4, 5, 6]

list3 = list1 + list2

print(list3)

2、extend()方法:

list1 = [1, 2, 3]

list2 = [4, 5, 6]

list3 = list1.extend(list2)

print(list3)

3、切片方式:

list1 = [1, 2, 3]

list2 = [4, 5, 6]

list1[len(list1):len(list1)] = list2

print(list1)

扩展资料:

list的方法

L.append(var)  #追加元素

L.insert(index,var)

L.pop(var)   #返回最后一个元素,并从list中删除之

L.remove(var)  #删除第一次出现的该元素

L.count(var)  #该元素在列表中出现的个数

L.index(var)  #该元素的位置,无则抛异常 

L.extend(list) #追加list,即合并list到L上

L.sort()    #排序

L.reverse()   #倒序

list 操作符:,+,*,关键字del

a[1:]    #片段操作符,用于子list的提取

[1,2]+[3,4] #为[1,2,3,4]。同extend()

[2]*4    #为[2,2,2,2]

del L[1]  #删除指定下标的元素

del L[1:3] #删除指定下标范围的元素

回答2:

除了直接相加(生成新的list),还有两种方法(修改其中一个list):

  1. 用list的extend方法,L1.extend(L2),该方法将参数L2的全部元素添加到L1的尾部,例如:

    >>> L1 = [1, 2, 3, 4, 5]
    >>> L2 = [20, 30, 40]
    >>> L1.extend(L2)
    >>> L1
    [1, 2, 3, 4, 5, 20, 30, 40]
  2. 用切片(slice)操作,L1[len(L1):len(L1)] = L2和上面的方法等价,例如:

    >>> L1 = [1, 2, 3, 4, 5]
    >>> L2 = [20, 30, 40]
    >>> L1[len(L1):len(L1)] = L2
    >>> 
    >>> L1
    [1, 2, 3, 4, 5, 20, 30, 40]

  3. 但切片方法用起来更灵活,可以插入到头部,或其他任意部位,例如:

    加到开头:

    >>> L1 = [1, 2, 3, 4, 5]
    >>> L2 = [20, 30, 40]
    >>> L1[0:0] = L2
    >>> L1
    [20, 30, 40, 1, 2, 3, 4, 5]
  4. 加到中间:

  5. >>> L1 = [1, 2, 3, 4, 5]
    >>> L2 = [20, 30, 40]
    >>> 
    >>> L1[1:1] = L2
    >>> L1
    [1, 20, 30, 40, 2, 3, 4, 5]


参考

1.《python libarary referece》5.6.4. Mutable Sequence Types:

(oschina文档镜像地址)http://tool.oschina.net/uploads/apidocs/python2.7.3/library/stdtypes.html#mutable-sequence-types

回答3:

直接相加
a+b

回答4:

a.extend(b)
print a