使用raw_input动态地在Dictionary中插入数据?

时间:2015-07-02 06:30:21

标签: python python-3.x dictionary

我正在为我的学校项目编写代码,用户为学生输入数据以及三个主题的数字,如果需要,可以在以后更新。我有两个问题。

1)当所有输入都在控制台的一行中时,如何将键值对插入字典?

前: -

 >>>Enter the data?
 >>>Alex 45 26 35 

此处的关键是'Alex',值为45 26 35

预期输出

 {'Alex': '45 62 35'}

2)从单个命令行语句执行更新?

语法>>>'操作''数据'

例如: -

   >>>Update Alex 45 47 41 

我在这里面临的主要问题是如何在Action和数据中拆分语句,以便程序可以单独识别它们并将其他数据识别为键值对?

1 个答案:

答案 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'}