【发布时间】:2019-05-10 20:35:10
【问题描述】:
我正在尝试制作 ADFGVX 密码。 在此过程中,我需要将替换表转换为字典。
例如,
<Substitution table>
A D F G V X
A T J B 1 5 V
D 7 4 9 M G K
F Y N 3 Z 8 F
G X D L A U E
V R 6 2 H S O
X C P Q I 0 W
进入
{'AA' : 'T', 'AD': 'J', 'AF' : 'B', 'AG' : '1' ...... 'XX' = 'W'}
有人知道吗?
我之前完全不知道,但是,感谢我写了一些(下)的第一条评论。该表是 .txt 格式,如您所见,它在第一行和第一列都有标题。但我不知道如何删除这些并正确匹配键和值。
f = open(tablefile_location, 'r')
subs_table = list()
while True:
line = f.readline()[1:]
subs_table.append(line.rstrip().split('\t'))
if not line: break
print(subs_table)
subs_dict = { R+C: subs_table[x][y] for x, R in enumerate(['A', 'D', 'F', 'G', 'V', 'X']) for y, C in enumerate(['A', 'D', 'F', 'G', 'V', 'X']) }
print(subs_dict)
f.close()
【问题讨论】:
-
你的替换表是什么数据格式?它是一个自定义类吗?列表列表?
-
输入应该可以。你开始得很好;从上次中断的地方继续。
-
请创建一个minimal reproducible example,记录您迄今为止尝试和研究的内容
-
您可以查看字典的列表理解。类似
{ R+C: table[x][y] for x, R in enumerate(['A','B','C']) for y, C in enumerate(['a', 'b']) }
标签: python