如何使用python while loop打印地址为伯明翰的所有名字?我不知道从哪里开始 字典列表=[ {“姓”:“史蒂文”,“姓”:“沃克”,“地址”:“伯明翰”}, {“姓”:“詹姆斯”,“姓”:“凯”,“地址”:“伯明翰”}, {“firstname”:“Alice”,“lastname”:“Gibson”,“address”:“Birmingham”}, {“名字”:“约翰”,“姓氏”:“能源部”,“地址”:“伯明翰”}, {“firstname”:“evan”,“lastname”:“spencer”,“address”:“Derby”}, {“名字”:“院长”,“姓氏”:“戴维斯”,“地址”:“利兹”}, {“名字”:“杰德”,“姓氏”:“威尔逊”,“地址”:“伯明翰”}, {“姓”:“爱玛”,“姓”:“詹姆斯”,“地址”:“伯明翰”}, {“名字”:“亚历克斯”,“姓氏”:“温莎”,“地址”:“伯明翰”}, {“名字”:“丽贝卡”,“姓氏”:“达芙妮”,“地址”:“伦敦”}, ]

如何使用python while loop打印地址为伯明翰的所有名字?我不知道从哪里开始 字典列表=[ {“姓”:“史蒂文”,“姓”:“沃克”,“地址”:“伯明翰”}, {“姓”:“詹姆斯”,“姓”:“凯”,“地址”:“伯明翰”}, {“firstname”:“Alice”,“lastname”:“Gibson”,“address”:“Birmingham”}, {“名字”:“约翰”,“姓氏”:“能源部”,“地址”:“伯明翰”}, {“firstname”:“evan”,“lastname”:“spencer”,“address”:“Derby”}, {“名字”:“院长”,“姓氏”:“戴维斯”,“地址”:“利兹”}, {“名字”:“杰德”,“姓氏”:“威尔逊”,“地址”:“伯明翰”}, {“姓”:“爱玛”,“姓”:“詹姆斯”,“地址”:“伯明翰”}, {“名字”:“亚历克斯”,“姓氏”:“温莎”,“地址”:“伯明翰”}, {“名字”:“丽贝卡”,“姓氏”:“达芙妮”,“地址”:“伦敦”}, ],python,while-loop,Python,While Loop,如何使用python while loop打印地址为伯明翰的所有名字?我不知道从哪里开始。首先,你不应该使用while loop,因为这对你来说没有意义,你最好使用for loop这样: for d in dictionary_list: if d['address'] == 'Birmingham': print([d['firstname']) 但是你可以简单地在一行中这样做,alani通过这样做向你推荐: print([d['firstname'] for d i

如何使用python while loop打印地址为伯明翰的所有名字?我不知道从哪里开始。

首先,你不应该使用
while loop
,因为这对你来说没有意义,你最好使用
for loop
这样:

for d in dictionary_list:
    if d['address'] == 'Birmingham':
        print([d['firstname'])
但是你可以简单地在一行中这样做,alani通过这样做向你推荐:

print([d['firstname'] for d in dictionary_list if d['address'] == 'Birmingham'])

仅仅因为您要求使用
while
循环实现:

i = 0
while i < len(dictionary_list):
    d = dictionary_list[i]
    if d['address'] == 'Birmingham':
        print(d['firstname'])
    i += 1
i=0
而我
您应该从pandas库开始,在python上操作数据最直观:

    import pandas as pd
    df=pd.DataFrame(dictionary_list)
    df2 = df[df['address']=="Birmingham"]
    print(df2["firstname"])
 
    

它必须是
while
循环吗?一个
for
循环更合适。
为True:print([d['firstname']表示字典列表中的d,如果d['address']='Birmingham']);中断
是的,也可以使用for循环完成,但最好使用while循环。谢谢,托比亚斯,为什么?你真正的问题是“如何做到这一点?”还是“如何做到这一点(因为我已经知道另一种方法)?”A
虽然循环在这里没有意义,但A
对于。。。在…
循环中。如果作为练习,您想强迫自己进入
while
循环,您可以这样做,但这将是一个更糟糕的解决方案,例如在每次迭代中从列表中弹出元素,并在“还有元素要弹出”时执行,或在“低于列表长度”时携带手动索引。alani所做的不是一个
循环,而是一个
用于。。。在…
循环中,隐藏在始终在第一次迭代中结束的
while True
循环中,因此基本上while循环和
break
没有任何作用。非常感谢,Aviv。这就是我想要的。欢迎@higherfego:)谢谢,拉斐尔。