python列表及for迴圈要注意的知識點

2021-09-20 20:06:42 字數 4342 閱讀 2193

列表可以巢狀不同的資料型別,如下是在列表中巢狀字典

1

2

3

a=[,]

foriina:

print(i)

我們可以用for迴圈去顯示每個字典 

如果想找乙個名字為zhouziqi的資訊,思路是這樣的,讓a列表中的每個字典乙個個的賦值給i,這樣i就是字典,如果想要找到字典中的'name'就可以用i['name']

1

2

3

a=[,]

foriina:

print(i['name'])

這個在以後會經常用到哦

下面我們說乙個for迴圈要注意的小點,直接看例子:

1

2

3

4

5

6

7

a=[,]

name=input("please input name:")

foriina:#把a列表中的字典乙個個的賦予給變數i

ifname==i['name']:#判斷使用者輸入name的值是否等於在i字典中key為name的值

print("the name is exist")#如果存在就輸出正確資訊

else:

print("none")#這是不正確的資訊

從上面**中看不出任何的毛病,你可以執行一下:

為什麼明明我們輸入了zhouziqi這個名字是存在的,卻又說這個name存在,又說這個名字不存在呢?

因為我們的a列表裡面有兩個字典對吧,當我們執行上面**的第二行的時候,也就是讓使用者輸入乙個值,我們輸入zhouziqi,這時候name就等於zhouziqi,進入第三行**,i的第乙個值就是字典,然後進行第四行**,判斷name的值是否等於字典中key為name的值,結果zhouziqi是等於zhouziqi的,這時候等式成立了,第五行**,列印正確資訊,這就出現了the name is exist,那為什麼還有個none的錯誤資訊列印出來呢,因為a裡面是兩個字典,剛剛我們,現在就用第二個字典,發現不成立就列印出錯誤資訊。這和我們想的不一樣呀,那麼我們能不能讓它判斷有這個名字了就自己break出來呢。這樣還是有問題的哦,你看看以下**

1

2

3

4

5

6

7

8

a=[,]

name=input("please input name:")

foriina:

ifname==i['name']:

print("the name is exist")

break

else:

print("none")

我們執行一下,這樣輸入zhouyu

為什麼會出現none,因為和上面的一樣,i的第乙個值是判斷出name(也就是zhouyu)不等於i['name'](也就是zhouziqi)所以就列印出none,然後第二個字典是,這才匹配成功輸出the name is exist。那我們應該怎麼辦呢?

因為不管怎麼樣,都會出現none,那麼我們能不能不要這個else呢,答案是確定的,可以不要這個else,然後在外面定義乙個值為false_number預設值為0,然後在for迴圈裡面,如果我們找到使用者輸入的name就更改false_number的值為1,然後用break跳出迴圈,在外面我們再去判斷false_number是否為1,如果是說明這個name就存在於陣列中的字典中,否則就不存在

1

2

3

4

5

6

7

8

9

10

11

12

13

a=[,]

name=input("please input name:")

false_number=0

foriina:

ifname==i['name']:

false_number=1

iffalse_number==1:

break

iffalse_number==1:

print("the name is exist")

else:

print("none")

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 列表 元組 for 迴圈

1 列表的切片和索引 列表和字串一樣.也有索引和切片.只不過切出來的內容是列表 索引的下標從0開始 起始位置 結束位置 步長 2 列表的增刪改查 1 增加 insert 前後兩個引數 分別是元素和索引 extend 迭代新增,可迭代物件,如列表 2 刪除 pop index 刪除最後指定元素,返回刪...