Python:为列表中的值指定标签
我有一个AscII文本文件,有两列第一列是整数,第二列是单词标签,我想用标签定义值,所以Python:为列表中的值指定标签,python,labels,Python,Labels,我有一个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', 'CL
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']]
现在我需要知道的是如何使用列表来分配带有vales的标签
MLKR = 348
CLRD = 449.3
SSPK = 667
MNVL = 891.2
DEIT = 992.2
谢谢你的帮助 您可以使用
dict
轻松完成此操作。在行
中获得输出后,您可以使用:
temp ={}
for x in lines:
temp[x[1]] = x[0]
其中x[1]将是标签。最简单、最直接的方法是使用标签 如果希望将值作为数字而不是字符串,只需进行简单更改:
d = { label: float(value) for value,label in lines }
创建一个字典来保存键/值对,这样每次调用MLKR时都会得到348,以此类推
myDict = { k[0]:k[1] for k in lst }
明确的可读性在什么地方发生以及如何发生是有用的。有没有办法从“348”中获取值,使其只显示为348?@AndyRoo我已经在答案中添加了这一点,如果这不是你想要的,请让我知道。
d = { label: float(value) for value,label in lines }
myDict = { k[0]:k[1] for k in lst }