Python修改列表元素有哪些方法總結(jié)
增刪改查是處理數(shù)據(jù)最常見的方法,前兩種說過了,這里就要說說python提供的兩種修改列表元素的方法,一種是修改單個(gè)元素,還有一種的修改一組數(shù)據(jù)的方法。
一、修改單個(gè)元素
修改單個(gè)元素從原理上講就是重新給指定位置的元素賦值。下面來看看代碼演示。
name1 = ['python', 'java', 'php', 'MySql', 'C++', 'C', 'php', 'C#'] name1[2] = 'python自學(xué)網(wǎng)' print(name1) 返回結(jié)果:['python', 'java', 'python自學(xué)網(wǎng)', 'MySql', 'C++', 'C', 'php', 'C#']
二、修改一組元素
這里使用的就是切片這種手法來給list列表做整段元素修改的,在進(jìn)行這種操作時(shí),如果不指定步長(step 參數(shù)),Python 就不要求新賦值的元素個(gè)數(shù)與原來的元素個(gè)數(shù)相同;這意味,該操作既可以為列表添加元素,也可以為列表刪除元素。
name1 = ['python', 'java', 'php', 'MySql', 'C++', 'C', 'php', 'C#'] name1[2:4] = ['python自學(xué)網(wǎng)', 'www.xxx.com.cn'] print(name1) 返回結(jié)果:['python', 'java', 'python自學(xué)網(wǎng)', 'www.xxx.com.cn', 'C++', 'C', 'php', 'C#']
這里要注意的是切片區(qū)間包含的元素個(gè)數(shù)和指定列表中元素的個(gè)數(shù)要相同。
還有一種切片方法是指定步長切片,同樣可以修改多個(gè)列表元素的值??纯聪旅娴拇a演示。
name1 = ['python', 'java', 'php', 'MySql', 'C++', 'C', 'php', 'C#'] name1[1:5:2] = ['python自學(xué)網(wǎng)', 'www.wakey.com.cn'] print(name1) 返回結(jié)果:['python', 'python自學(xué)網(wǎng)', 'php', 'www.xxx.com.cn', 'C++', 'C', 'php', 'C#']
上面這段代碼的意思是,從第二個(gè)元素到第六個(gè)元素,每隔2個(gè)修改成指定的列表中元素。從第二個(gè)到第六個(gè)包含4個(gè)元素,每隔2個(gè)修改一下正好能修改兩個(gè),如果包含6個(gè)元素,這是新的列表中元素不夠就會報(bào)錯??纯聪旅娴难菔?
name1 = ['python', 'java', 'php', 'MySql', 'C++', 'C', 'php', 'C#']name1[1:7:2] = ['python自學(xué)網(wǎng)', 'www.xxx.com.cn']print(name1)
返回結(jié)果:
Traceback (most recent call last):
File "C:/Users/Administrator/Desktop/python知識總結(jié)/python基礎(chǔ)/9-4.修改列表元素.py", line 12, in <module>
name1[1:7:2] = ['python自學(xué)網(wǎng)', 'www.xxx.com.cn']
ValueError: attempt to assign sequence of size 2 to extended slice of size 3
補(bǔ)充: 刪除元素的變相方法
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)
總結(jié)
到此這篇關(guān)于Python修改列表元素有哪些方法的文章就介紹到這了,更多相關(guān)Python修改列表元素內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
OpenCV+Imutils實(shí)現(xiàn)圖像的旋轉(zhuǎn)操作
imutils是在OPenCV基礎(chǔ)上的一個(gè)封裝,達(dá)到更為簡結(jié)的調(diào)用OPenCV接口的目的,它可以輕松的實(shí)現(xiàn)圖像的平移,旋轉(zhuǎn),縮放,骨架化等一系列的操作。本文將用其實(shí)現(xiàn)圖像的旋轉(zhuǎn)操作,感興趣的可以學(xué)習(xí)一下2022-05-05Python實(shí)現(xiàn)在PyPI上發(fā)布自定義軟件包的方法詳解
在Python中我們經(jīng)常使用pip來安裝第三方Python軟件包,其實(shí)我們每個(gè)人都可以免費(fèi)地將自己寫的Python包發(fā)布到PyPI上。本文我們就將詳細(xì)介紹如何發(fā)布測試包,需要的可以參考一下2022-06-06Python中使用HTMLParser解析html實(shí)例
這篇文章主要介紹了Python中使用HTMLParser解析html實(shí)例,本文直接給出使用示例,并總結(jié)出HTMLParser含有的方法分為兩類,一類是需要顯式調(diào)用的,而另一類不需顯示調(diào)用,需要的朋友可以參考下2015-02-02TensorFlow tf.nn.softmax_cross_entropy_with_logits的用法
這篇文章主要介紹了TensorFlow tf.nn.softmax_cross_entropy_with_logits的用法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04Python中collections.Counter()的具體使用
本文主要介紹了Python中collections.Counter()的具體使用,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-07-07pyenv與virtualenv安裝實(shí)現(xiàn)python多版本多項(xiàng)目管理
這篇文章主要介紹了pyenv與virtualenv安裝實(shí)現(xiàn)python多版本多項(xiàng)目管理過程,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08