这是我的代码:
我创建了一些随机字母并将它们存储在变量中,然后我将这些变量用作字典中的键。问题是由于随机字母,密钥是重复的。我该如何解决这个问题?
a = random.choice(string.ascii_letters).lower()
b = random.choice(string.ascii_letters).lower()
.
.
.
z = random.choice(string.ascii_letters).lower()
alphabet =
{'a':a,'b':b,'c':c,'d':d,'e':e,'f':f,'g':g,'h':h,
'i':i,'j':j,'k':k,'l':l,'m':m,'n':n,
'o':o,'p':p,'q':q,'r':r,'s':s,'t':t,
'u':u,'v':v,'w':w,'x':x,'y':y,'z':z}
答案 0 :(得分:5)
请勿使用单独的choice()
来电。使用random.sample()
,从string.ascii_lowercase
而非小写选择:
# pick 10 random keys, all unique
keys = random.sample(string.ascii_lowercase, 10)
如果你所做的只是改变所有26个字母,那么使用random.shuffle()
:
# list of 26 letters in random order
random_letters = list(string.ascii_lowercase)
random.shuffle(random_letters)
# map the alphabet to the random letters
alphabet = dict(zip(string.ascii_lowercase, random_letters))