![](/img/trans.png)
[英]How to print all dictionary values from loop using BeautifulSoup and Flask
[英]How to solve this loop to print all the values?
它應該打印 5,3.33 但它只打印 3?如何打印這兩個值
bucket_data22={1: {'key': 'Security Awareness Overview', 'value': 20, 'start_date': '13/07/2021', 'end_date': '12/08/2021', 'id': 155},
2: {'key': 'Security Awareness Overview', 'value': 0, 'start_date': '13/07/2021', 'end_date': '12/08/2021', 'id': 159},
3: {'key': 'Security Awareness Overview', 'value': 30, 'start_date': '24/09/2021', 'end_date': '27/09/2021', 'id': 174}}
completed_data={155: 1, 174: 1}
for z in completed_data:
print(z)
for i in bucket_data22:
if (bucket_data22[i]['id']==z):
print((completed_data[z]/bucket_data22[i]['value'])*100)
它現在有效:
bucket_data22={1: {'key': 'Security Awareness Overview', 'value': 20, 'start_date': '13/07/2021', 'end_date': '12/08/2021', 'id': 155},
2: {'key': 'Security Awareness Overview', 'value': 0, 'start_date': '13/07/2021', 'end_date': '12/08/2021', 'id': 159},
3: {'key': 'Security Awareness Overview', 'value': 30, 'start_date': '24/09/2021', 'end_date': '27/09/2021', 'id': 174}}
completed_data={155: 1, 174: 1}
for z in completed_data:
for i in bucket_data22:
if (bucket_data22[i]['id']==z):
print((completed_data[z]/bucket_data22[i]['value'])*100)
z
具有 completed_data 的最后一個值,因此您只能得到一個匹配項(id 174)。
您應該bucket_data22[i]['id'] in completed_data
for i in bucket_data22:
if (bucket_data22[i]['id'] in completed_data):
print((completed_data[z]/bucket_data22[i]['value'])*100)
Output:
5.0
3.3333333333333335
似乎第二個循環僅在第一個循環完成后才開始。
因此,第二個循環始終獲得相同的“z”值,即 174。
如果要迭代 'z' 的所有值,則必須將第二個循環移到第一個循環中。
bucket_data22={1: {'key': 'Security Awareness Overview', 'value': 20, 'start_date': '13/07/2021', 'end_date': '12/08/2021', 'id': 155},
2: {'key': 'Security Awareness Overview', 'value': 0, 'start_date': '13/07/2021', 'end_date': '12/08/2021', 'id': 159},
3: {'key': 'Security Awareness Overview', 'value': 30, 'start_date': '24/09/2021', 'end_date': '27/09/2021', 'id': 174}}
completed_data={155: 1, 174: 1}
for z in completed_data:
for i in bucket_data22:
if (bucket_data22[i]['id']==z):
print((completed_data[z]/bucket_data22[i]['value'])*100)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.