脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - Python修改列表元素有哪些方法总结

Python修改列表元素有哪些方法总结

2023-05-15 17:03恶霸程序员388 Python

在Python中列表是一种可变序列,可以存储任意类型的元素,而元组是一种不可变序列,也可以存储各种类型的元素,下面这篇文章主要给大家介绍了关于Python修改列表元素有哪些方法的相关资料,需要的朋友可以参考下

增删改查是处理数据最常见的方法,前两种说过了,这里就要说说python提供的两种修改列表元素的方法,一种是修改单个元素,还有一种的修改一组数据的方法。

一、修改单个元素

修改单个元素从原理上讲就是重新给指定位置的元素赋值。下面来看看代码演示。

?
1
2
3
4
name1 = ['python', 'java', 'php', 'MySql', 'C++', 'C', 'php', 'C#']
name1[2] = 'python自学网'
print(name1)
返回结果:['python', 'java', 'python自学网', 'MySql', 'C++', 'C', 'php', 'C#']

二、修改一组元素

这里使用的就是切片这种手法来给list列表做整段元素修改的,在进行这种操作时,如果不指定步长(step 参数),Python 就不要求新赋值的元素个数与原来的元素个数相同;这意味,该操作既可以为列表添加元素,也可以为列表删除元素。

?
1
2
3
4
name1 = ['python', 'java', 'php', 'MySql', 'C++', 'C', 'php', 'C#']
name1[2:4] = ['python自学网', 'www.xxx.com.cn']
print(name1)
返回结果:['python', 'java', 'python自学网', 'www.xxx.com.cn', 'C++', 'C', 'php', 'C#']

这里要注意的是切片区间包含的元素个数和指定列表中元素的个数要相同。

还有一种切片方法是指定步长切片,同样可以修改多个列表元素的值。看看下面的代码演示。

?
1
2
3
4
name1 = ['python', 'java', 'php', 'MySql', 'C++', 'C', 'php', 'C#']
name1[1:5:2] = ['python自学网', 'www.wakey.com.cn']
print(name1)
返回结果:['python', 'python自学网', 'php', 'www.xxx.com.cn', 'C++', 'C', 'php', 'C#']

上面这段代码的意思是,从第二个元素到第六个元素,每隔2个修改成指定的列表中元素。从第二个到第六个包含4个元素,每隔2个修改一下正好能修改两个,如果包含6个元素,这是新的列表中元素不够就会报错。看看下面的演示;

?
1
name1 = ['python', 'java', 'php', 'MySql', 'C++', 'C', 'php', 'C#']name1[1:7:2] = ['python自学网', 'www.xxx.com.cn']print(name1)

返回结果:

Traceback (most recent call last):
  File "C:/Users/Administrator/Desktop/python知识总结/python基础/9-4.修改列表元素.py", line 12, in <module>
    name1[1:7:2] = ['python自学网', 'www.xxx.com.cn']
ValueError: attempt to assign sequence of size 2 to extended slice of size 3

补充: 删除元素的变相方法

?
1
2
3
4
5
6
7
8
9
10
11
s1 = (1, 2, 3, 4, 5, 6)
s2 = (2, 3, 5)
s3 = []
for i in s1:
    if i not in s2:
        s3.append(i)
print('s1_1:', s1)
s1 = s3
print('s2:', s2)
print('s3:', s3)
print('s1_2:', s1)

总结 

到此这篇关于Python修改列表元素有哪些方法的文章就介绍到这了,更多相关Python修改列表元素内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/weixin_73136678/article/details/128268241

延伸 · 阅读

精彩推荐