python访问列表中的第二个元素

时间:2014-06-11 10:23:40

标签: python list split

我创建了一个字典,我已将列表的第一个元素指定为键。我想将其余的元素作为值附加到字典中:

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附加所有元素。我需要追加除第一个之外的所有元素(因为它用作键)。任何帮助将不胜感激。

e.g。如果字段是:X \ t1 \ t2 \ t3我希望哈希是:

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

2 个答案:

答案 0 :(得分: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:]

答案 1 :(得分: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以获取有关切片表示法的更多信息。