我正在为我的学校项目编写代码,用户为学生输入数据以及三个主题的数字,如果需要,可以在以后更新。我有两个问题。
1)当所有输入都在控制台的一行中时,如何将键值对插入字典?
前: -
>>>Enter the data? >>>Alex 45 26 35
此处的关键是'Alex',值为45 26 35
预期输出
{'Alex': '45 62 35'}
2)从单个命令行语句执行更新?
语法>>>'操作''数据'
例如: -
>>>Update Alex 45 47 41
我在这里面临的主要问题是如何在Action和数据中拆分语句,以便程序可以单独识别它们并将其他数据识别为键值对?
答案 0 :(得分:1)
如果您想要的是在第一个空格处拆分字符串,那么您可以使用string.split(s, maxsplit=n)
,其中s是要拆分的字符串,maxsplit=n
是要停止的拆分数。如果你没有为s
提供只调用string.split(maxsplit=n)
函数的任何值,那么它将被所有空格分开。
示例 -
>>> s = "Alex 45 26 35"
>>> s.split(maxsplit=1)
['Alex', '45 26 35']
您可以使用它来分割字符串,然后使用第一个元素作为键,第二个元素作为字典中的值(如果这是您真正想要的那样)。
您也可以在Actions
情况下使用类似的逻辑,在第一个空格处拆分输入,然后拆分返回的第一个元素是操作,第二个元素是{{ 1}}。
要从列表中创建字典,您可以使用多种方法,例如 -
data
或者
d= dict([s.split(maxsplit=1)])
d
>>> {'Alex': '45 26 35'}