在python中从奇怪的列表传递值

2024-04-16 12:39:37 发布

您现在位置:Python中文网/ 问答频道 /正文

如果单词匹配,我想将内部列表的第一个值(数字)传递给dict

缓冲区:

 ['from', 
'landi', 
'stsci', 
'edu', 
'four'...]

列表1:

[('focus', [-1, -2]), 
('four', [-3.3, -1.04]),
...)]

for key in docs_A_rec:
    for word, number_1,number_2  in list_1:
       if word in buffer:
           docs_A_rec[key]['idf'][word] = list_1[word][number_1]

我得到这个错误:

ValueError: need more than 2 values to unpack

谢谢你。你知道吗


Tags: keyinfromdocsnumber列表for数字
3条回答
>>> buffer = ['from', 'landi', 'stsci', 'edu', 'four']
>>> list_1 = [('focus', [-1, -2]), ('four', [-3.3, -1.04])]
>>>
>>> for key1 in buffer:
...   for key2 in list_1:
...     if (key1 != key2[0]):
...       continue;
...     print key1
...     print key2[1][0]
...
four
-3.3
>>>

所以,下面这些就足够了

for key1 in buffer:
  for key2 in list_1:
    if (key1 == key2[0]):
      list_1[key1][key2[1][0]]

应该是这样的:

[('focus', [-1, -2]), 
('four', [-3.3, -1.04]),
...)]

for key in docs_A_rec:
    for word, (number_1,number_2)  in list_1:
       if word in buffer:
           docs_A_rec[key]['idf'][word] = list_1[word][number_1]

第二个循环中有一个bug,请按以下方式修复它:

for key in docs_A_rec:
    for word, (number_1,number_2)  in list_1:
       if word in buffer:
           docs_A_rec[key]['idf'][word] = templist[word][number_1]

希望有帮助!你知道吗

相关问题 更多 >