我有一个带有两列的AscII文本文件,第一列是整数,第二列是单词标签,我想用标签MLKR = 348
,CLRD = 449.3
等来定义值。
以下是我加载AscII文件的方法
with open('tops.txt') as f:
lines = f.readlines()
lines = [line.rstrip('\n').split('\t') for line in open('tops.txt')]
这给了我这个输出
[['348', 'MLKR'], ['449.3', 'CLRD'], ['667', 'SSPK'], ['891.2', 'MNVL'], ['992.2', 'DEIT'], ['1011', 'PEKISKO']]
现在我需要知道的是如何使用列表来分配带有值的标签
MLKR = 348
CLRD = 449.3
SSPK = 667
MNVL = 891.2
DEIT = 992.2
感谢您的帮助!
答案 0 :(得分:1)
最简单,最直接的方法是使用dict comprehension。
d = { label: value for value,label in lines }
print d['MLKR']
如果您希望将值作为数字而不是字符串,那么这只是一个简单的更改:
d = { label: float(value) for value,label in lines }
答案 1 :(得分:0)
您可以使用dict
轻松完成此操作。获得lines
中的输出后,您可以使用:
temp ={}
for x in lines:
temp[x[1]] = x[0]
答案 2 :(得分:0)
dict = {}
for x in lines:
dict[x[1]] = x[0]
其中x [1]将是标签。
答案 3 :(得分:0)
创建一个字典来保存键/值对,这样每次调用MLKR时,你都会获得348,依此类推。
myDict = { k[0]:k[1] for k in lst }