我有一堆字符串,全部在一行上,由一个空格分隔.我想将这些值存储在地图中,第一个字符串作为键,以及一组剩余值.我在尝试
map = {}
input = raw_input().split()
map[input[0]] = input[1:-1]
Run Code Online (Sandbox Code Playgroud)
除了最后一个元素之外,它有效.我已经找到
map[input[0]] = input[1:len(input)]
Run Code Online (Sandbox Code Playgroud)
有效,但我宁愿使用更像前者的东西
(例如,输入类似于"键值1值2值3"我想要像
{'key':['value1','value2','value3']}这样的地图
但是我当前的方法给了我
{'key':[ 'value1','value2']})
那是因为你指定-1了要转到的索引 - 只需将索引保留在列表的末尾即可.例如:
input[1:]
Run Code Online (Sandbox Code Playgroud)
有关列表切片语法的更多信息,请参见此处.
注意一个替代方案(我觉得它更好,更可读),如果你使用的是Python 3.x,那就是使用扩展的可迭代解包:
key, *values = input().split()
map[key] = values
Run Code Online (Sandbox Code Playgroud)