具有字典或列表蟒蛇
工作,我有下面的语句具有字典或列表蟒蛇
onehot = collection.defaultdict(list)
,我填有两个维向量。 当我打印onehot
这里是我得到:
print(onehot)
--->defaultdict<class'list'>,{0:['1200',1],1:['1203',2],2:['1400',4]}
这是完美的。现在我的问题是有没有办法从onehot中获得“配对”的价值。例如:
onehot 1200 ---> 1
onehot 1800 ---> 32
我是Python新手,所以我不确定它。
更新 问题是我真的不知道1200是在哪里,所以我想和我对第二维数有兴趣。
所以我需要到列表中寻找1200并返回第二维的值,在这种情况下是1
这里是一个任何方式与您的数据发挥函数返回列表中的第二个元素,并使用第一个元素作为关键字(如果我正确理解了你,你想要什么)。 你也可以简单地扩展它来产生一个新的字典,你可以直接使用它。
def getByFirstListElement(k):
ret = [] #There could be multiple hits, this returns a list of all
for key, value in onehot.enumerate():
if value[0] == k:
ret.append(value[1])
return ret
版本,返回的字典:
def getPairDict(k):
ret = {}#There could be multiple hits, this returns a list of all
for key, value in onehot.enumerate():
if value[0] == k:
ret.update((value,))#Add the values to the dict
return ret
我会试试这个@roman感谢您的回答 – Engine
您可以将您的结构想象成多维数组。
如果你这样做:onehot[0][0] --> 1200
,onehot[0][1] --> 1
迭代通过字典如下:
for key in onehot:
print("{} --> {}".format(onehot[key][0], onehot[key][1]))
result:
1200 --> 1
1203 --> 2
1400 --> 4
您可以在您认为合适的:)
感谢您的回答,我已经更新了这个问题。我不想通过使用该ID访问该值,因为我不知道哪个ID是1200 – Engine
并不清楚你的要求。 'onehot [0]'给你列表'['1200',1]',这不是你想要的吗? –
'1800 - > 32'从哪里来?我在输入中看不到它。 –
@PaulRooney我想这只是一个例子 – Dudnikof