成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

python函數(shù)清空列表 python 清空列表

如何把列表外的列表移除python

python的列表list可以用for循環(huán)進(jìn)行遍歷,實(shí)際開發(fā)中發(fā)現(xiàn)一個(gè)問題,就是遍歷的時(shí)候刪除會(huì)出錯(cuò),例如

創(chuàng)新互聯(lián)公司是一家以成都網(wǎng)站建設(shè)公司、網(wǎng)頁設(shè)計(jì)、品牌設(shè)計(jì)、軟件運(yùn)維、seo優(yōu)化排名、小程序App開發(fā)等移動(dòng)開發(fā)為一體互聯(lián)網(wǎng)公司。已累計(jì)為隧道混凝土攪拌車等眾行業(yè)中小客戶提供優(yōu)質(zhì)的互聯(lián)網(wǎng)建站和軟件開發(fā)服務(wù)。

l = [1,2,3,4]

for i in l:

if i != 4:

l.remove(i)

print l

這幾句話本來意圖是想清空列表l,只留元素4,但是實(shí)際跑起來并不是那個(gè)結(jié)果。再看下面,利用index來遍歷刪除列表l

l = [1, 2, 3, 4]

for i in range(len(l)):

if l[i] == 4:

del l[i]

print l

這樣沒問題,可以遍歷刪除,但是列表l如果變?yōu)?l = [1,2,3,4,5]

如果還是按照上面的方法,設(shè)想一下,range開始的范圍是0-4,中間遍歷的時(shí)候刪除了一個(gè)元素4,這個(gè)時(shí)候列表變成了= [1,2,3,5],這時(shí)候就會(huì)報(bào)錯(cuò)了,提示下標(biāo)超出了數(shù)組的表示,原因就是上面說的遍歷的時(shí)候刪除了元素

所以python的list在遍歷的時(shí)候刪除元素一定要小心

可以使用filter過濾返回新的list

l = [1,2,3,4]

l = filter(lambda x:x !=4,l)

print l

這樣可以安全刪除l中值為4的元素了,filter要求兩個(gè)參數(shù),第一個(gè)是規(guī)則函數(shù),第二個(gè)參數(shù)要求輸入序列,而lambda這個(gè)函數(shù)的作用就是產(chǎn)生一個(gè)函數(shù),是一種緊湊小函數(shù)的寫法,一般簡單的函數(shù)可以這么些

或者可以這樣

l = [1,2,3,4]

l = [ i for i in l if i !=4]//同樣產(chǎn)生一個(gè)新序列,復(fù)值給l

print l

或者干脆建立新的list存放要?jiǎng)h除的元素

l = [1,2,3,4]

dellist = []

for i in l:

if i == 4:

dellist.append(i)

for i in dellist:

l.remove(i)

這樣也能安全刪除元素

所以要遍歷的時(shí)候刪除元素一定要小心,特別是有些操作并不報(bào)錯(cuò),但卻沒有達(dá)到預(yù)期的效果

上面說到產(chǎn)生新序列,賦值等等,用python的id()這個(gè)內(nèi)置函數(shù)來看對(duì)象的id,可以理解為內(nèi)存中的地址,所以有個(gè)簡要說明

如果

l = [1,2,3,4]

ll = l

l.remove(1)

print l//肯定是[2,3,4]

print ll//這里會(huì)是什么?

如果用id函數(shù)查看的話就發(fā)現(xiàn)

print id(l),id(ll)

打印出相同的號(hào)碼,說明他們其實(shí)是一個(gè)值,也就是說上面的print ll將和l打印的一樣,所以python有這種性質(zhì),用的時(shí)候注意一下就行了

python如何實(shí)現(xiàn)刪除某list中所有重復(fù)出現(xiàn)的元素

1. 使用內(nèi)置函數(shù)set

lists = [1,1,2,3,4,6,6,2,2,9]

lists = list(set(lists))

先將列表轉(zhuǎn)換為集合,因?yàn)榧鲜遣恢貜?fù)的,故直接刪除重復(fù)元素,而且輸出結(jié)果為排序后的

python刪除list重復(fù)元素

在Python中主要有5種方式 。

1、使用set函數(shù)

set是定義集合的,無序,非重復(fù)

numList = [1,1,2,3,4,5,4]

print(list(set(numList)))

#[1, 2, 3, 4, 5]

2、先把list重新排序,然后從list的最后開始掃描

a = [1, 2, 4, 2, 4, 5,]

a.sort()

last = a[-1]

for i in range(len(a) - 2, -1, -1):

if last == a[i]:

del a[i]

else:

last = a[i]

print(a) #[1, 2, 4, 5]

3、使用字典函數(shù)

a=[1,2,4,2,4,]

b={}

b=b.fromkeys(a)

c=list(b.keys())

print(c) #[1, 2, 4]

4、append方式

def delList(L):

L1 = []

for i in L:

if i not in L1:

L1.append(i)

return L1

print(delList([1, 2, 2, 3, 3, 4, 5])) #[1, 2, 3, 4, 5]

5、count + remove方式

def delList(L):

for i in L:

if L.count(i) != 1:

for x in range((L.count(i) - 1)):

L.remove(i)

return L

print(delList([1, 2, 2, 3, 3, 4]))#[1, 2, 3, 4]

python常用列表函數(shù)

1

len(list)

列表元素個(gè)數(shù)

2

max(list)

返回列表元素最大值

3

min(list)

返回列表元素最小值

4

list(seq)

將元組轉(zhuǎn)換為列表

序號(hào)

方法

1

list.append(obj)

在列表末尾添加新的對(duì)象

2

list.count(obj)

統(tǒng)計(jì)某個(gè)元素在列表中出現(xiàn)的次數(shù)

3

list.extend(seq)

在列表末尾一次性追加另一個(gè)序列中的多個(gè)值(用新列表擴(kuò)展原來的列表)

4

list.index(obj)

從列表中找出某個(gè)值第一個(gè)匹配項(xiàng)的索引位置

5

list.insert(index, obj)

將對(duì)象插入列表

6

list.pop([index=-1])

移除列表中的一個(gè)元素(默認(rèn)最后一個(gè)元素),并且返回該元素的值

7

list.remove(obj)

移除列表中某個(gè)值的第一個(gè)匹配項(xiàng)

8

list.reverse()

反向列表中元素

9

list.sort( key=None, reverse=False)

對(duì)原列表進(jìn)行排序

10

list.clear()

清空列表

11

list.copy()

復(fù)制列表

python從列表中刪除元素

有很多種方法都能實(shí)現(xiàn)從列表中刪除元素。

方法一:remove(具體的元素),該函數(shù)可以刪除列表中某個(gè)值的第一個(gè)匹配項(xiàng)。

方法二:使用pop(元素位置)來刪除,pop()還可以接著使用。

方法三:使用del關(guān)鍵字根據(jù)索引來刪除元素。

本文名稱:python函數(shù)清空列表 python 清空列表
文章鏈接:http://jinyejixie.com/article6/dosdjig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、云服務(wù)器、網(wǎng)站內(nèi)鏈軟件開發(fā)、外貿(mào)建站虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司
烟台市| 平度市| 嘉峪关市| 得荣县| 本溪市| 伊川县| 宜州市| 弥渡县| 会东县| 将乐县| 巨野县| 上虞市| 平陆县| 措勤县| 安阳市| 伊宁县| 洞口县| 康乐县| 龙泉市| 蓝田县| 铅山县| 垫江县| 喀什市| 淮安市| 东明县| 涟源市| 平南县| 工布江达县| 黄骅市| 柏乡县| 溧阳市| 滦南县| 阿尔山市| 宁陵县| 沙坪坝区| 兴山县| 镶黄旗| 博湖县| 浏阳市| 五莲县| 黔东|