2014-06-11 181 views
2

我已經創建了一個字典,我已經將列表的第一個元素作爲關鍵字。我想將其餘元素作爲值追加到字典中:python訪問列表中的第二個元素到最後一個元素

file_a包含製表符分隔的字段。

a = {} 
for line in file_a.readlines(): 
    split_line = line.strip().split('\t') 
    a[split_line[0]] = [] 
    a[split_line[0]].append(split_line[::-1]) # append from second to last element to the list 

:: - 1追加所有元素。我需要附加除第一個元素之外的所有元素(因爲它用作鍵)。任何幫助將不勝感激。

例如如果字段:X \ T1 \ T2 \ T3我想哈希是:

'X': ['1', '2', '3'] 
+1

'split_line [1:] [:: - 1]' –

回答

5

Python切片語法是alist[start:end:step]。所以,你的分片::-1,你只是顛倒了名單。 如果你想最後第二個元素,正確的切片將 alist[1:]

a = {} 
for line in file_a.readlines(): 
    split_line = line.strip().split('\t') 
    a[split_line[0]] = split_line[1:] 
+0

爲什麼說給我 'X':[」 1','2','3']]與列表中的列表? – Mark

+0

檢查代碼示例。我編輯了我的答案。 –

2
a = {} 
for line in file_a: 
    split_line = line.strip().split('\t') 
    a[split_line[0]] = split_line[1:] 

您切片表達split_line[::-1]計算結果爲split_line逆轉,因爲第三個參數是步驟(-1在此案件)。您想從元素1開始並一路走到最後,默認步長爲1.請檢查this answer瞭解切片符號的更多信息。

相關問題