列表可以巢狀不同的資料型別,如下是在列表中巢狀字典
1
2
3
a
=
[,]
for
i
in
a:
print
(i)
我們可以用for迴圈去顯示每個字典
如果想找乙個名字為zhouziqi的資訊,思路是這樣的,讓a列表中的每個字典乙個個的賦值給i,這樣i就是字典,如果想要找到字典中的'name'就可以用i['name']
1
2
3
a
=
[,]
for
i
in
a:
print
(i[
'name'
])
這個在以後會經常用到哦
下面我們說乙個for迴圈要注意的小點,直接看例子:
1
2
3
4
5
6
7
a
=
[,]
name
=
input
(
"please input name:"
)
for
i
in
a:
#把a列表中的字典乙個個的賦予給變數i
if
name
=
=
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:"
)
for
i
in
a:
if
name
=
=
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
for
i
in
a:
if
name
=
=
i[
'name'
]:
false_number
=
1
if
false_number
=
=
1
:
break
if
false_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 刪除最後指定元素,返回刪...