2016-03-15 19 views
-1

我需要將第二個值添加到另一個列表中的字典中的鍵。有人可以解釋如何做到這一點?在python中爲鍵添加第二個值

這就是我想去的,但我不斷收到錯誤的任何想法?

third_value_list =[0] 
for i in third_value_list 
num_list = [1,2] 
val_list = [0,1] 
dict1 = dict((k, [v]+i) for (k, v) in zip(num_list,val_list)) 
print dict1 

我想在列表中使用循環迴路,但我不斷收到錯誤

所需的輸出我想是關鍵:X,Y如下:

{1: [0,0], 2:[1,0]} 
+3

使用值的列表。 – kindall

+0

我需要這兩個列表 – Testerflorida

+0

要做到這一點的唯一方法是使用該值的列表或元組。您不能將兩個單獨的值與特定鍵相關聯。它如何知道在特定環境下返回哪一個?如果你需要它們,那麼你將不得不將它們作爲列表或元組返回。 –

回答

2

怎麼樣這種方法:

third_value_list =[0] 
num_list = [1,2] 
val_list = [0,1] 
# If you want it as a tuple, then just use tuple([v]+third_value_list) below 
dict1 = dict((k, [v]+third_value_list) for (k, v) in zip(num_list,val_list)) 
print dict1 

這將打印

{1: [0, 0], 2: [1, 0]} # Tuple variant will print {1: (0, 0), 2: (1, 0)}

注意

在Python中,你不能這樣定義詞典:

>>> {1: 2,3, 2:1,0} 
    File "<pyshell#61>", line 1 
    {1: 2,3, 2:1,0} 
     ^
SyntaxError: invalid syntax 

列表,元組和其他收藏品會工作得很好:

>>> {1: (2,3), 2:(1,0)} 
{1: (2, 3), 2: (1, 0)} 
>>> {1: [2,3], 2:[1,0]} 
{1: [2, 3], 2: [1, 0]} 

編輯您的最新評論(見下文):

>>> d = {1: 0} 
>>> l = [1, 2, 3] 
>>> for k, v in d.iteritems(): 
...  d[k] = tuple([v]+l) 
...  
>>> d 
{1: (0, 1, 2, 3)} 
>>> 
+1

您可以再次編輯您的問題,抱歉,格式設置已關閉,我無法真正關注註釋中的縮進。 – Bahrom

+0

third_value_list = [0] 對於i在third_value_list num_list =在拉鍊[1,2] val_list = [0,1] dict1 =字典((K,[V] + i)用於(K,V) (num_list,val_list)) print dict1 – Testerflorida

+0

我現在在電話上看到了,但是在一個小時左右的時間裏我會得到一個機會的時候會進行編輯。但是,您不需要遍歷第三個列表以獲得所需的輸出。 '[v] + third_value_list'已經將兩個列表相加(如果third_value_list爲[0,1],您會得到類似[0,0,1]的東西) – Bahrom

相關問題