如何在python中创建一个字典,其中包含随机字母作为键,没有重复项?

Mpe*_*ths 1 python random dictionary key

这是我的代码:

我创建了一些随机字母,然后将它们存储在变量中,然后我将这些变量用作字典中的键.问题是由于随机字母,密钥是重复的.我该如何解决这个问题?

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} 
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 5

不要使用单独的choice()电话.使用random.sample(),选择string.ascii_lowercase而不是小写:

# pick 10 random keys, all unique
keys = random.sample(string.ascii_lowercase, 10)
Run Code Online (Sandbox Code Playgroud)

如果你所做的只是改变所有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))
Run Code Online (Sandbox Code Playgroud)