繁体   English   中英

在python 3中比较字典中的列表类型值

[英]compare list type values in dictionaries in python 3

我正在为实际练习创建游戏,但是现在我陷入了困境,因此需要一点帮助。

我已经学习了几个月,现在遇到了以下问题:

我有两个词典,第一个key - valueuser - predictions

第二个是race_event - the_result

User_predictions = {"Daniel": ["1st", "2nd", "3rd","4th","5th","6th","7th","8th","9th","10th"], ......., "Mike":"[10 more entries]"}

Result_event = {"Australia": [Results 1-20], ......, "Monaco":"[Results 1-20]"}

到目前为止,我有7个比赛项目

我的目的是比较两个词典中的列表。
即查看Daniels,....., Mikes澳大利亚的Daniels,....., Mikes列表,并将其与result_event词典中的澳大利亚列表进行比较(即第一个值)

我意识到我可能对此过于复杂了,但是输入正确的代码应该可以解决所有问题。 我一直在网上寻找各种技巧,但没有运气,我仍然是一个初学者,因此,如果有内置功能或您认为可能有帮助的任何功能,请分享。

或者,如果您认为我应该重新格式化dict值或尝试其他操作,请分享。 我没有上传任何代码,因为似乎没有任何效果。

也许您可以将每个用户的预测与事件结果一起压缩,然后并排显示数据?

例如:

for user in User_predictions:
    compare = zip(User_predictions[user], Result_event['Australia'])
    print('Position', '{} prediction'.format(user), 'Result', sep=',')

    for position, (prediction, result) in enumerate(compare, start=1):
        print(position, prediction, result, sep=',')

因此,我进行了一些重新命名的方法,以使其更加结构化。

predictions = {"australia" : {"UserA" : ["Hamilton", "Vettel", "Bottas"], "UserB" : ["Vettel", "Raikonnen", "Hamilton"]}}
results = {"australia" : ["Vettel", "Bottas", "Verstappen"]}

for country, list_finish in results.items():
    print("Positions for GP in {country}:".format(country=country))
    for position_number, position_finisher in enumerate(list_finish, 1):
        print(str(position_number)+". "+position_finisher)

    print("These were the tips:")
    for username, list_prediction in predictions[country].items():
        print("Prediction by {user}:".format(user = username))
        for position_number, position_finisher in enumerate(list_prediction, 1):
            print(str(position_number)+". "+position_finisher)
    print("\n\n")

如果将其复制并粘贴到脚本中,将得到以下输出:

Positions for GP in australia:
1. Vettel
2. Bottas
3. Verstappen
These were the tips:
Prediction by UserA:
1. Hamilton
2. Vettel
3. Bottas
Prediction by UserB:
1. Vettel
2. Raikonnen
3. Hamilton

那是你要的吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM