修改列表元素的两种方式
1)索引 —-> 修改单个元素
语法格式:list_name[index] = value
参数说明:
index:要修改元素的索引位置。可以是正索引,也可以是负索引。
代码演示:
lst = [10,20,30,40,50]
# 将索引为2的元素修改为999
lst[2] = 999
print(lst) # [10, 20, 999, 40, 50]
# 将索引为-1的元素修改为 hello
lst[-1] = 'hello'
print(lst)
2)切片操作 —-> 修改多个元素
语法结构:list_name[start,stop,step] = iterable
a、如果不指定步长,切片部分元素个数和新赋值的元素个数可以不相同。
lst = [0,10,20,30,40,50,60,70,80,90]
# 不指定步长,新赋值的元素个数可以和切片部分元素个数不相同
lst[2:5] = [111,222,333,444]
print(lst)
b、如果指定步长,切片部分元素个数必须和新赋值的元素个数相同,否则抛出 ValueError 异常。
lst = [0,10,20,30,40,50,60,70,80,90]
# start = 1,stop = 8,step = 2
lst[1:8:2] = [111,222,333]
print(lst)
让切片部分元素个数和新赋值的元素个数相同:
lst = [0,10,20,30,40,50,60,70,80,90]
# start = 1,stop = 8,step = 2
lst[1:8:2] = [111,222,333,444]
print(lst)
c、所赋的值必须是可迭代对象,否则会抛出 TypeError 异常。
lst = [0,10,20,30,40,50,60,70,80,90]
# 123 是整型
lst[2:5] = 123
print(lst)
上面的123 是整型,如果把它修改为字符串类型,Python会把字符串中的每一个字符当做是一个元素,添加到列表中。
lst = [0,10,20,30,40,50,60,70,80,90]
# 新赋值的对象必须是可迭代对象
lst[2:5] = '123'
print(lst)
复制列表的四种方法
1)赋值操作 —–> list2 = list1
这里的 list2 只是对 list1 的引用,在 list1 中做的更改,list2 也会跟着变化。他们两个指向的内存地址相同。
lst1 = [10,20,30,40,50]
lst2 = lst1
print('lst1 =',lst1,id(lst1)) # lst1 = [10, 20, 30, 40, 50] 3072985923008
print('lst2 =',lst2,id(lst2)) # lst2 = [10, 20, 30, 40, 50] 3072985923008
lst1.pop()
print('lst1.pop()后的lst1 =',lst1,id(lst1)) # lst1.pop()后的lst1 = [10, 20, 30, 40] 3072985923008
print('lst1.pop()后的lst2 =',lst2,id(lst2)) # lst1.pop()后的lst2 = [10, 20, 30, 40] 3072985923008
2)copy()方法 —–> new_list = original_list.copy()
产生一个新的列表对象。new_list 和 original_list 指向的不是同一块内存空间,所以在 original_list 中做的修改不会影响 new_list 列表,反之亦然。
original_list = [10,20,30,40,50]
new_list = original_list.copy()
print('original_list =',original_list,id(original_list)) # original_list = [10, 20, 30, 40, 50] 2738426412480
print('new_list =',new_list,id(new_list)) # new_list = [10, 20, 30, 40, 50] 2738430080704
# 向original_list列表添加元素
original_list.append('hello')
print('original_list =',original_list,id(original_list)) # original_list = [10, 20, 30, 40, 50, 'hello'] 2738426412480
print('new_list =',new_list,id(new_list)) # new_list = [10, 20, 30, 40, 50] 2738430080704
3)内置函数list() —–> new_list = list(list_name)
产生一个新的列表对象。两个列表对象指向不同的内存空间,所以在其中一个列表中所做的修改是不会影响另一个列表的。
lst = [10,20,30,40,50]
print(lst,id(lst)) # [10, 20, 30, 40, 50] 1908678262208
new_lst = list(lst)
print(new_lst,id(new_lst)) # [10, 20, 30, 40, 50] 1908678248192
4)切片操作 —-> new_list = original_list[:]
两个列表对象指向不同的内存空间,所以在其中一个列表中所做的修改是不会影响另一个列表的。
original_list = [10,20,30,40,50]
new_list = original_list[:]
print('original_list =',original_list,id(original_list)) # original_list = [10, 20, 30, 40, 50] 2738426412480
print('new_list =',new_list,id(new_list)) # new_list = [10, 20, 30, 40, 50] 2738430080704
original_list.append('hello')
print('original_list =',original_list,id(original_list)) # original_list = [10, 20, 30, 40, 50, 'hello'] 2738426412480
print('new_list =',new_list,id(new_list)) # new_list = [10, 20, 30, 40, 50] 2738430080704
合并列表的三种方法
1)+ 会产生新的列表对象
list1 = [20,30,40]
list2 = ['hello','python']
new_list = list1 + list2
print(new_list) # [20, 30, 40, 'hello', 'python']
2)append() 把list2中的元素一个一个追加到list1中
list1 = [20,30,40]
list2 = [333,444,555]
print(id(list1),list1) # 2251902877120 [20, 30, 40]
# 遍历list2,将list2中的元素使用append一个一个的添加到list1列表的末尾
for i in list2:
list1.append(i)
print(id(list1),list1) # 2251902877120 [20, 30, 40, 333, 444, 555]
3)extend() 把list2添加到list1末尾
list1 = [20,30,40]
list2 = ['hello','python']
list1.extend(list2)
print(list1) # [20, 30, 40, 'hello', 'python']
列表元素的遍历
列表是可迭代序列,使用 for 循环来遍历。
语法格式:
for 迭代变量 in 列表名:
操作
代码演示:
lst = ['hello','python',10,'hello',22]
for i in lst:
print(i)
获取列表的长度
使用 len() 来获取列表的长度。
lst = [10,20,30,40,50,60,70,80]
print(len(lst)) # 8
© 版权声明
本站网络名称:
尤尤博客
本站永久网址:
https://www.yxfseo.cn
网站侵权说明:
本网站的文章部分内容可能来源于网络,仅供大家学习与参考,请在24H内删除。
1 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
3 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
1 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
3 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
THE END
暂无评论内容