首页 > 解决方案 > 将字典变量放入列表 - 打乱它们 - 将它们分成两个嵌套的字典

问题描述

基本上我已经将定义的字典变量放入一个列表中,以便用 random.shuffle 对它们进行洗牌。

现在我想将前 10 个变量导入到 deck1 中,它是一个空的嵌套字典,并将最后 10 个变量导入到 deck2 中,它也是一个空的嵌套字典(我也不知道如何制作一个空的嵌套字典)。

所以本质上程序应该洗牌(这是字典),然后将这些变量放入一个列表中然后洗牌,然后将洗牌的牌分成两个嵌套字典。


import random

deck1={}
deck2={}

theHatefulEight = {"SPECIAL":0, "SPEED": 17, "KNOWLEDGE":90, "STRENGTH":42}
deepBlueSea = {"SPECIAL": 100, "SPEED":50, "KNOWLEDGE":0, "STRENGTH":85}
pulpFiction = {"SPECIAL":100,"SPEED":44, "KNOWLEDGE":98, "STRENGTH":56}
avengersAssemble ={"SPECIAL":50, "SPEED":40, "KNOWLEDGE":100, "STRENGTH":78}
StarWarsEpisodeIII ={"SPECIAL": 100, "SPEED": 97, "KNOWLEDGE": 78, "STRENGTH":100}
snakesOnAPlane = {"SPECIAL":100, "SPEED":100, "KNOWLEDGE":100, "STRENGTH":100}
dieHard = {"SPECIAL":100, "SPEED":29, "KNOWLEDGE":98, "STRENGTH":26}
shaft = {"SPECIAL":100, "SPEED":100, "KNOWLEDGE":99, "STRENGTH":100}
theOtherGuys = {"SPECIAL":100, "SPEED":92, "KNOWLEDGE":90, "STRENGTH":70}
theLegendOfTarzan = {"SPECIAL": 90, "SPEED":94, "KNOWLEDGE":30, "STRENGTH":10}
glass = {"SPECIAL": 100, "SPEED":0, "KNOWLEDGE":80, "STRENGTH":0}
xXx = {"SPECIAL": 89, "SPEED":70, "KNOWLEDGE": 73, "STRENGTH":40}
fourteenOEight = {"SPECIAL": 90, "SPEED": 22, "KNOWLEDGE":100, "STRENGTH":32}
loadedWeapon = {"SPECIAL": 100, "SPEED":77, "KNOWLEDGE":68, "STRENGTH":31}
sphere = {"SPECIAL": 92, "SPEED":12, "KNOWLEDGE":43, "STRENGTH":41}
trueRomance = {"SPECIAL": 10, "SPEED":78, "KNOWLEDGE":1, "STRENGTH":4}
kong = {"SPECIAL": 100, "SPEED":94, "KNOWLEDGE":30, "STRENGTH":10}
coachCarter = {"SPECIAL": 100, "SPEED":30, "KNOWLEDGE":89, "STRENGTH":50}
django = {"SPECIAL": 90, "SPEED":10, "KNOWLEDGE":94, "STRENGTH":18}
jackieBrown = {"SPECIAL": 100, "SPEED":72, "KNOWLEDGE":82, "STRENGTH":84}


print(theHatefulEight)

cards = [theHatefulEight, deepBlueSea, pulpFiction, avengersAssemble,
         StarWarsEpisodeIII, snakesOnAPlane, dieHard, shaft, theOtherGuys, 
         theLegendOfTarzan,
         glass, xXx, fourteenOEight, loadedWeapon, sphere, trueRomance, kong, 
         coachCarter,
         django, jackieBrown]

print(cards)

random.shuffle(cards)

print(cards)    

````````````````````````
so the program should print the decks:

````````````

deck1 = {"theHatefulEight": {"SPECIAL":0, "SPEED": 17, "KNOWLEDGE":90, "STRENGTH":42},
          "deepBlueSea": {"SPECIAL": 100, "SPEED":50, "KNOWLEDGE":0, "STRENGTH":85},
          "pulpFiction": {"SPECIAL":100,"SPEED":44, "KNOWLEDGE":98, "STRENGTH":56},
          "avengersAssemble": {"SPECIAL":50, "SPEED":40, "KNOWLEDGE":100, "STRENGTH":78},
          "StarWarsEpisodeIII":{"SPECIAL": 100, "SPEED": 97, "KNOWLEDGE": 78, "STRENGTH":100},
          "snakesOnAPlane": {"SPECIAL":100, "SPEED":100, "KNOWLEDGE":100, "STRENGTH":100},
          "dieHard":{"SPECIAL":100, "SPEED":29, "KNOWLEDGE":98, "STRENGTH":26},
          "shaft":{"SPECIAL":100, "SPEED":100, "KNOWLEDGE":99, "STRENGTH":100},
          "theOtherGuys":{"SPECIAL":100, "SPEED":92, "KNOWLEDGE":90, "STRENGTH":70},
          "theLegendOfTarzan": {"SPECIAL": 90, "SPEED":94, "KNOWLEDGE":30, "STRENGTH":10}}



deck2 = {"glass":{"SPECIAL": 100, "SPEED":0, "KNOWLEDGE":80, "STRENGTH":0},
          "xXx":{"SPECIAL": 89, "SPEED":70, "KNOWLEDGE": 73, "STRENGTH":40},
          "fourteenOEight":{"SPECIAL": 90, "SPEED": 22, "KNOWLEDGE":100, "STRENGTH":32},
          "loadedWeapon":{"SPECIAL": 100, "SPEED":77, "KNOWLEDGE":68, "STRENGTH":31},
          "sphere":{"SPECIAL": 92, "SPEED":12, "KNOWLEDGE":43, "STRENGTH":41},
          "trueRomance":{"SPECIAL": 10, "SPEED":78, "KNOWLEDGE":1, "STRENGTH":4},
          "kong":{"SPECIAL": 100, "SPEED":94, "KNOWLEDGE":30, "STRENGTH":10},
          "coachCarter":{"SPECIAL": 100, "SPEED":30, "KNOWLEDGE":89, "STRENGTH":50},
          "django":{"SPECIAL": 90, "SPEED":10, "KNOWLEDGE":94, "STRENGTH":18},
          "jackieBrown":{"SPECIAL": 100, "SPEED":72, "KNOWLEDGE":82, "STRENGTH":84}}


``````````````

if anyone's wondering the dictionaries are top trump cards and the nested dictionaries are decks. 

标签: pythonpython-3.xdictionary

解决方案


推荐阅读