首页 > 解决方案 > 如何从字典列表中获取随机字典的值?

问题描述

我正在制作一个菜鸟游戏,其中程序比较两个人的追随者并找出哪个更大。代码是这样的:

import random

names = [
    {"khloekardashian": 193},
    {"kyliejenner": 279},
    {"kimkardashian": 261},
    {"kendalljenner": 197},
    {"cristiano": 361},
    {"leomessi": 278},
    {"Instagram": 478},
    {"THe Rock": 276},
    {"Ariana Grande": 273},
    {"Selena gomez": 270}]
ran=random.randrange(0,9)
rann=random.randrange(0,9)

act1 = names[ran]
act2 = names[rann]
print("which of the following has more followers or are same")
print(act1)
print("OR")
print(act2)
user=int(input("enter only 1,2,="))
score1=
if user == 1:

这是不完整的,我想检索存储在act1and中的 dict 的值act2

标签: pythonpython-3.x

解决方案


我建议使用random.choice()函数来选择随机字典。一旦你有了这些,你可以提取其中的值,如下所示:

import random

names = [
    {"khloekardashian": 193},
    {"kyliejenner": 279},
    {"kimkardashian": 261},
    {"kendalljenner": 197},
    {"cristiano": 361},
    {"leomessi": 278},
    {"Instagram": 478},
    {"The Rock": 276},
    {"Ariana Grande": 273},
    {"Selena gomez": 270}]

act1 = random.choice(names)
act2 = random.choice(names)

name1, followers1 = tuple(act1.items())[0]
name2, followers2 = tuple(act2.items())[0]
print("Which of the following has more followers or are same?")
print(name1)
print("OR")
print(name2)

#user = int(input("enter only 1,2,="))
#score1 =
#if user == 1:

推荐阅读