python - 如何使用嵌套字典遍历列表?

标签 python python-3.x dictionary nested-loops nested-lists

所以我有一个包含嵌套字典的列表,我想做的是从字典中读取 View 的值并将它们放入乘法器。

video_ads=({'title': 'Healthy Living', 'company': 'Health Promotion 
Board','views': 15934},
{'title': 'Get a ride, anytime anywhere', 'company': 'Uber', 'views': 
923834},
{'title': 'Send money with GrabPay', 'company': 'Grab', 'views': 23466},
{'title': 'Ubereats now delivers nationwide', 'company': 'Uber', 'views': 
1337},
{'title': 'Get cabs now with UberFlash', 'company': 'Uber', 'views': 90234})

所以我想做的是将标题与由某个因素乘以的 View 结合起来,这就是我到目前为止所写的内容

def payment_for_views(x):
    for x in range(0,5):
        x = x+1

        if video_ads[x]['views'] >= 50000:
            payment = video_ads[x]['views']*0.55
        elif views <50000 and video_ads[x]['views'] >=10000:
            payment=video_ads[x]['views']*0.68
        else:
            payment = video_ads[x]['views']*0.82
    #print(x)
    print(video_ads[x]['title'] + ': $'+ str(payment))
    print(video_ads[x]['title'] + ': $'+ str(payment))
    print(video_ads[x]['title'] + ': $'+ str(payment))
    print(video_ads[x]['title'] + ': $'+ str(payment))
    print(video_ads[x]['title'] + ': $'+ str(payment))

但它似乎只打印一行,例如:

 Get cabs now with UberFlash: $49628.700000000004
 Get cabs now with UberFlash: $49628.700000000004
 Get cabs now with UberFlash: $49628.700000000004
 Get cabs now with UberFlash: $49628.700000000004
 Get cabs now with UberFlash: $49628.700000000004

这就是我得到的全部。我需要 5 行,所有这些都有不同的标题和不同的数量。帮助!!!并提前致谢!

最佳答案

video_ads=({'title': 'Healthy Living', 'company': 'Health Promotion Board','views': 15934},
           {'title': 'Get a ride, anytime anywhere', 'company': 'Uber', 'views': 923834},
           {'title': 'Send money with GrabPay', 'company': 'Grab', 'views': 23466},
           {'title': 'Ubereats now delivers nationwide', 'company': 'Uber', 'views': 1337},
           {'title': 'Get cabs now with UberFlash', 'company': 'Uber', 'views': 90234})

def payment_for_views(item):
    if item >= 50000:
        payment = item * 0.55
    elif item < 50000 and item >= 10000:
        payment = item * 0.68
    else:
        payment = item * 0.82
    return payment

[print(per_ad['title'], ': $' + str(payment_for_views(per_ad['views']))) for per_ad in video_ads]

输出:

Healthy Living : $10835.12

Get a ride, anytime anywhere : $508108.70000000007

Send money with GrabPay : $15956.880000000001

Ubereats now delivers nationwide : $1096.34

Get cabs now with UberFlash : $49628.700000000004

关于python - 如何使用嵌套字典遍历列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51396547/

相关文章:

python - 如何以编程方式将方法添加到类调用中?

Python:在将每一行与矩阵中的每一行进行比较后存储非零唯一行的索引

python - 在 python 中使用 Pandas 将列附加到数据框

python - 当本地主机正在工作时,我无法通过 IP 地址看到我的 Python Django 服务器

php - 将 AJAX 示例从 php 转换为 python/django

java - 如何将字符串项放入字符串枚举的枚举的枚举映射中?

javascript - 放大 map 图像,其中包含可突出显示的部分

c# - 比较两个键值字典 C#

c++ - 如何编写函数和成员函数的包装器,在包装函数之前和之后执行一些代码?

javascript - Python 的 urllib.parse.quote() 和 urllib.parse.unquote() 的等效 JavaScript 函数