Skip to content

连接两个列表的方式有哪些,这些方式有什么区别 #29

@Sogrey

Description

@Sogrey

连接列表有两种方式:+extend,元组只有一种:+,由于元祖本身是只读的,没有extend方法

a = [1,5,7,9,6]
b = [2,3,3,6,8]
c = (1,2,3)
d = (2,3,3,4)
print(a + b)  ## [1, 5, 7, 9, 6, 2, 3, 3, 6, 8]
print(c + d)  ## (1, 2, 3, 2, 3, 3, 4)
a.extend(b)
print(a)  ## [1, 5, 7, 9, 6, 2, 3, 3, 6, 8]

差异:

  1. +不会改变参与连接的列表的值,但extend方法可以改变a列表的值
  2. +两侧要么都是元组,要么都是列表。但是列表的extend方法可以将一个元组添加列表后面
a.extend(c)
print(a)  ## [1, 5, 7, 9, 6, 2, 3, 3, 6, 8, 1, 2, 3]

#print(a + c)  ## TypeError: can only concatenate list (not "tuple") to list
print(c + d) ## (1, 2, 3, 2, 3, 3, 4)

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions