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
如果使用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、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、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))
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))
insert() 和 append() 一样,一次只能添加一个元素,如果添加的元素是可迭代对象,那么这个可迭代对象会被当做是一个元素添加到指定位置。
lst = [10,20,30,40]
lst1 = ['python','java']
lst.insert(0,lst1)
print(lst)
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
5、* 运算符进行重复拼接操作
可以使用‘*’ 在列表的末尾重复插入多次原列表。
lst = [10,20,30,40,50]
print(lst,id(lst))
print(lst*2,id(lst*2))
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]
1 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
3 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
暂无评论内容