3 回答

TA貢獻(xiàn)1866條經(jīng)驗(yàn) 獲得超5個(gè)贊
只是因?yàn)槟笫褂脀hile循環(huán)實(shí)現(xiàn):
i = 0
while i < len(dictionary_list):
d = dictionary_list[i]
if d['address'] == 'Birmingham':
print(d['firstname'])
i += 1

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超6個(gè)贊
您應(yīng)該從 pandas 庫(kù)開始,它是在 python 上開始操作數(shù)據(jù)最直觀的:
import pandas as pd
df=pd.DataFrame(dictionary_list)
df2 = df[df['address']=="Birmingham"]
print(df2["firstname"])

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超6個(gè)贊
您首先不應(yīng)該使用 awhile loop因?yàn)槟那闆r沒(méi)有意義,您最好應(yīng)該使用這樣for loop的:
for d in dictionary_list:
if d['address'] == 'Birmingham':
print([d['firstname'])
但你可以按照alani 的建議,簡(jiǎn)單地在一行中完成此操作:
print([d['firstname'] for d in dictionary_list if d['address'] == 'Birmingham'])
添加回答
舉報(bào)