python迴圈刪除列表和字典

2021-09-30 01:58:46 字數 1911 閱讀 5934

1、迴圈刪除列表中的元素

lis =[11

,22,33

,44,55

]for i in

range

(len

(lis)):

del lis[i]

刪除報錯,因為刪除過程中,列表的下標會自動補齊到0

2、將偶數從列表中刪掉

lis =[11

,22,33

,44,55

]for i in

range

(len

(lis)):

iflen

[i]%2==

0:print

(lis)

3、將字典裡面鍵名稱含有k的鍵值對刪掉
dic =

for i in dic:

if'k'

in i:

del dic[i]

報錯資訊:

traceback (most recent call last):

file 「c:/python/diangotest/20191125.py」, line 23, in

for i in dic:

runtimeerror: dictionary changed size during iteration

解決方案1:生成乙個新的字典,將鍵值不包含』k』的加入進去

dic1 =

for i in dic:

if'k'

notin i:

dic1.setdefault(i,dic[i]

)dic = dic1

print

(dic)

解決方案2:將鍵名包含k的加入到列表中,迴圈列表,再對應的鍵名
k_in_lis =

for i in dic:

if'k'

in i:

print

(k_in_lis)

for i in k_in_lis:

del dic[i]

print

(dic)

在迴圈列表和字典的時候,不要刪除其中的元素,會比較麻煩

問題:什麼資料型別轉換成bool值全是false?

數字0 --> bool值 為 false

字串 --> bool值 為 false

空列表 --> bool值 為 true

空元組 --> bool值 為 true

空集合 --> bool值 為 true

print

(bool(''

),type(''

))print

(bool([

'']),

type([

'']))

print

(bool((

'',))

,type((

'',))

)print

(bool()

,type()

)

元組,如果元組裡面只有乙個元素並且不加逗號,那麼該元素是什麼型別,就是什麼型別;如果加了逗號,那麼該元素型別是元組
tup =(1

)tup1 =(1

,)print

(tup,

type

(tup)

)print

(tup1,

type

(tup1)

)lst =([

1])lst1 =([

1],)

print

(lst,

type

(lst)

)print

(lst1,

type

(lst1)

)

python字典 列表 迴圈

今天是學習python的第二天 字典是什麼呢?字典也是用來存放多種資料的容器,它和列表的功能相似,但是它是使用 包起來的,而列表不是 字典中的每乙個元素都是乙個單獨的 鍵值對 用英文冒號 進行連線,冒號左邊我們稱之為 鍵 相當於序號,右邊是這個序號的取值,我們稱之為 值 例如 a a就是乙個字典,其...

Python 列表迴圈刪除

列表迴圈刪除中,第一次很容易採坑 如下面案例,我們想把列表中 2全部刪除 alist 1 2,3 1,2 2,3 4 for i in alist if i 2 alist.remove i print alist 我們希望得到 1,3,1,3,4 結果 1,3,1,2,3,4,有乙個2漏掉了 fo...

python 列表 元組 字典 迴圈

print fruit print fruit insert 在索引位置增加元素 fruit.insert 1,pear print fruit pop 刪除索引位置元素 fruit.pop 1 print fruit 執行結果 tup1 50,type tup1 tup2 50 type tup2...