我需要创建一个字典,值可以为空或零,但我需要键是ABCD字符与lenght k的所有可能组合。例如,对于k=8
lex = defaultdict(int)
lex = {
'AAAAAAAA':0,
'AAAAAAAB':0,
'AAAAAABB':0,
...}
到目前为止,我已经尝试过这样的想法,我知道这是错误的,但我不知道如何使它工作,我是新的在python所以请忍受我。
mydiction = {}
mylist = []
mylist = itertools.permutations('ACTG', 8)
for keys in mydiction:
mydiction[keys] = mylist.next()
print(mydiction)
最佳答案
你可以在一行中完成,但你要找的是combinations_with_replacement
from itertools import combinations_with_replacement
mydict = {"".join(key):0 for key in combinations_with_replacement('ACTG', 8)}
关于python - 如何使用排列生成字典的键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20001045/