繁体   English   中英

Python-从第二个到最后一个元素获取子集

[英]Python - get subset from 2nd, to last element

我有一堆字符串,全部都放在一行上,并用一个空格隔开。 我想将这些值存储在映射中,并以第一个字符串作为键,并使用一组其余值。 我在尝试

map = {}
input =  raw_input().split()
map[input[0]] = input[1:-1]

除了省去最后一个元素外,它还可以工作。 我已经发现

map[input[0]] = input[1:len(input)]

可以,但是我宁愿使用更像前者的东西

(例如,输入类似于“键值1值2值3”,我想要一个地图
{'key':['value1','value2','value3']}
但是我现在的方法给了我
{'key':['value1','value2']})

这是因为您指定-1作为要转到的索引-只需将索引留到列表的末尾即可。 例如:

input[1:]

有关列表切片语法的更多信息,请参见此处

请注意,如果您使用的是Python 3.x,则可以使用一种扩展的可迭代拆包方法(我觉得它更好,更易读):

key, *values = input().split()
map[key] = values
myDict = {}

for line in lines:
    tokens = line.split()
    map[tokens[0]] = tokens[1:]

或者:

def lineToPair(line):
    tokens = line.split()
    return tokens[0],tokens[1:]

myDict = dict(lineToPair(x) for x in lines)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM