Python 列表之六种添加元素的方法

append()、extend() 和 insert() 添加元素不会产生新的列表对象。

1、append() 在列表的末尾添加一个元素

用于在列表对象的末尾添加一个新元素。是在原有列表上进行操作的,不会产生一个新的列表对象。

语法格式:list_name.append(element)

参数说明:

list_name :列表对象。

element :表示要添加的元素。

代码演示:

lst = [10,20,30,40]
print('添  加 之   前:',lst,id(lst))    # 添  加 之   前: [10, 20, 30, 40] 2090343772032
# 向lst列表的末尾添加 66 这个新元素
lst.append(66)
print('append添加之后:',lst,id(lst))    # append添加之后: [10, 20, 30, 40, 66] 2090343772032
图片[1]-Python 列表之六种添加元素的方法-尤尤'blog

如果使用append() 添加一个可迭代对象,这个可迭代对象会被当成一个元素,添加至列表末尾。

lst = [10,20,30,40]
lst1 = ['hello','python']

print('添  加 之   前:',lst,id(lst))    # 添  加 之   前: [10, 20, 30, 40] 1447223612672

lst.append(lst1)    # append是将lst1作为一个元素添加到了lst末尾
print('append添加之后:',lst,id(lst))    # append添加之后: [10, 20, 30, 40, ['hello', 'python']] 1447223612672
图片[2]-Python 列表之六种添加元素的方法-尤尤'blog

2、extend() 在列表的末尾至少添加一个元素(可以添加任何可迭代的元素)

向列表的末尾一次添加可迭代序列中的多个元素。

语法格式:list_name.extend(iterable)

参数说明:

iterable :可迭代对象,如字符串、列表、元组、集合等。

代码演示:

lst = [10,20,30,40]

# 向列表lst的末尾添加一个新列表对象
lst1 = ['hello','python']
print('添  加 之   前:',lst,id(lst))    # 添  加 之   前: [10, 20, 30, 40] 2783516279680
lst.extend(lst1)    # 把lst1的每个元素都添加到lst的末尾
print('extend添加新列表对象:',lst,id(lst))    # extend添加新列表对象: [10, 20, 30, 40, 'hello', 'python'] 2783516279680

# 向列表lst的末尾添加一个字符串对象
str = '123'
print('添  加 之   前:',lst,id(lst))    # 添  加 之   前: [10, 20, 30, 40, 'hello', 'python'] 2783516279680
lst.extend(str)
print('extend添加字符串对象:',lst,id(lst)) # extend添加字符串对象: [10, 20, 30, 40, 'hello', 'python', '1', '2', '3'] 2783516279680

# 向列表lst的末尾添加一个元组对象
tp = ('java',999)
print('添  加 之   前:',lst,id(lst))    # 添  加 之   前: [10, 20, 30, 40, 'hello', 'python', '1', '2', '3'] 2783516279680
lst.extend(tp)
print('extend添加元组:',lst,id(lst))    # extend添加元组: [10, 20, 30, 40, 'hello', 'python', '1', '2', '3', 'java', 999] 2783516279680

# 向列表lst的末尾添加一个集合对象
s = {'world',100}
print('添  加 之   前:',lst,id(lst))    # 添  加 之   前: [10, 20, 30, 40, 'hello', 'python', '1', '2', '3', 'java', 999] 2783516279680
lst.extend(s)
print('extend添加集合对象:',lst,id(lst))  # extend添加集合对象: [10, 20, 30, 40, 'hello', 'python', '1', '2', '3', 'java', 999, 100, 'world'] 2783516279680

# 向列表lst的末尾添加一个字典对象,添加的是字典中的key值
dct = {'name': '张三','age': 15}
print('添  加 之   前:',lst,id(lst))   # 添  加 之   前: [10, 20, 30, 40, 'hello', 'python', '1', '2', '3', 'java', 999, 100, 'world'] 2783516279680
lst.extend(dct)
print('extend添字典:',lst,id(lst)) # extend添字典: [10, 20, 30, 40, 'hello', 'python', '1', '2', '3', 'java', 999, 100, 'world', 'name', 'age'] 2783516279680
图片[3]-Python 列表之六种添加元素的方法-尤尤'blog

3、insert() 在指定位置添加元素

将指定元素插入到列表的指定位置。

语法格式:list_name.insert(index, element)

参数说明:

index :要插入的索引位置。

element :要添加进列表的元素。

代码演示:

1)当索引为正时,即 index>0 时,index 表示插入第 index 个位置。

lst = [10,20,30,40]
print('原列表lst:',lst,id(lst))  # 2229385805888

# 当index为正索引时,i表示插入第i个位置

# 在索引为0的位置上添加元素9999
lst.insert(0,9999)
print('在lst的索引为0的位置插入9999:',lst,id(lst))  #

# 在索引为1的位置上添加元素'hello'
lst.insert(1,'hello')   
print('在lst的索引为1的位置插入\'hello\':',lst,id(lst))  #

# 当索引index > len(lst)列表长度时,直接将元素添加到列表的末尾

# 在索引为10的位置上添加元素'JAVA'
lst.insert(10,'JAVA')
print('在lst的索引为10的位置插入\'JAVA\':',lst,id(lst))
图片[4]-Python 列表之六种添加元素的方法-尤尤'blog

2)当索引为负时,即 index < 0 时,index 表示插入倒数第 abs(index) +1个位置。

# 当index为负索引时,-i表示插入倒数第i+1个位置
lst = [10,20,30,40]
print('原列表lst:',lst,id(lst))  # 2229385805888

# 当index为-1时,元素插入倒数第2个位置
lst.insert(-1,'WORLD')
print('在lst的索引为-2的位置插入\'WORLD\':',lst,id(lst))

# 当index为-2时,元素插入倒数第3个位置
lst.insert(-2,'python')
print('在lst的索引为-2的位置插入\'python\':',lst,id(lst))

# 当abs(index) > len(lst)列表长度时,元素插入列表的开头位置
lst.insert(-10,'ABC')
print('在lst的索引为-10的位置插入\'ABC\':',lst,id(lst))
图片[5]-Python 列表之六种添加元素的方法-尤尤'blog

insert() 和 append() 一样,一次只能添加一个元素,如果添加的元素是可迭代对象,那么这个可迭代对象会被当做是一个元素添加到指定位置。

lst = [10,20,30,40]
lst1 = ['python','java']
lst.insert(0,lst1)
print(lst)
图片[6]-Python 列表之六种添加元素的方法-尤尤'blog

4、+ 运算符

使用‘+’进行添加元素时,会产生新的列表对象。

lst = [10,20,30,40]
lst1 = ['hello',99]

print('原列表lst:',lst,id(lst))  # 原列表lst: [10, 20, 30, 40] 2630980588800

print('使用+运算符进行添加元素:',lst+lst1,id(lst+lst1)) # 使用+运算符进行添加元素: [10, 20, 30, 40, 'hello', 99] 2630983810240

lst2 = ['abc']

print('使用+运算符进行添加元素:',lst+lst2,id(lst+lst2)) # 使用+运算符进行添加元素: [10, 20, 30, 40, 'abc'] 2630983807296

图片[7]-Python 列表之六种添加元素的方法-尤尤'blog

5、* 运算符进行重复拼接操作

可以使用‘*’ 在列表的末尾重复插入多次原列表。

lst = [10,20,30,40,50]
print(lst,id(lst))
print(lst*2,id(lst*2))
图片[8]-Python 列表之六种添加元素的方法-尤尤'blog

6、切片操作,插入一个或多个元素

使用切片操作进行插入元素有三种情况:

1)当切片操作中的 start 省略,stop = 0 时候,会将元素插入到列表的起始位置。

2)当start = stop 时,将元素插入到列表的第start个位置。

3)当 start > len(lst) 时,将元素插入到列表的末尾位置。

代码演示:

lst = [10,20,30,40,50]

print(lst)

# 1)当切片操作中的 start 省略,stop = 0 时候,会将元素插入到列表的起始位置。
lst[:0] = ['hello']
print('lst[:0]:',lst)   # lst[:0]: ['hello', 10, 20, 30, 40, 50]

# 2)当start = stop 时,将元素插入到列表的第start个位置。
lst[1:1] = [999,222]
print('lst[1:1]:',lst)  # lst[1:1]: ['hello', 999, 222, 10, 20, 30, 40, 50]

# 3)当 start >= len(lst) 时,将元素插入到列表的末尾位置。
lst[len(lst):] = [99,77]
print('lst[len(lst):]',lst)  # lst[len(lst):] ['hello', 999, 222, 10, 20, 30, 40, 50, 99, 77]
lst[15:] = [66,77]   # 超出了列表长度,就是将其他元素添加到列表末尾
print('lst[15:]',lst)   # lst[15:] ['hello', 999, 222, 10, 20, 30, 40, 50, 99, 77, 66, 77]
图片[9]-Python 列表之六种添加元素的方法-尤尤'blog
© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容