我创建了一个字典,我已将列表的第一个元素指定为键。我想将其余的元素作为值附加到字典中:
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']
答案 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以获取有关切片表示法的更多信息。