首页 > 技术文章 > Python3变量作为字典键的方法

yuvejxke 2020-02-26 15:25 原文

Python3字典类型的键,不能为list,也不能为....只能使用字符串

import random

times=1
basegold=10
base_gold=1200
#gamers and score by dictionary,1200 will change in next loop
games={'a':1200,'b':1200,'c':1200}
for j in games.keys():
    games[i]=base_gold
#Random choice one as land ower
dz=random.sample(games.keys(),1)
#random win or lose ,1 stand ower win
wl=random.randint(0,1)
if wl==0:
    dz_gold=games[str(dz[0])]=times*basegold*2*-1+base_gold
    del games[str(dz[0])]
    nong_gold=base_gold+times*basegold*2*1
    for i in games.keys():
        games[i]=nong_gold
else:
    dz_gold=games[str(dz[0])]=times*basegold*2*1+base_gold
    del games[str(dz[0])]
    nong_gold=base_gold+times*basegold*2*-1
    for i in games.keys():
        games[i]=nong_gold
games[str(dz[0])]=dz_gold

这里模拟的是三个玩家a b c作为斗地主一局比赛后自己分值的变化,虽然事实证明这种使用字典的方法不是那么方便统计

1. random.sample从初始键值对中取出一个键作为地主dz,dz的数据类型为list

2. 需要将dz转换为string,因为dz的数据类型为list,所以必须用dz[0]表示取出的‘键’,随后在进行字符串转换

如果直接使用 games[dz],则输出的键值对会多出一个 "dz":{数字},而不是dz所代表的玩家‘键’

推荐阅读