Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从字典中删除键的用户列表_Python_Dictionary_User Input - Fatal编程技术网

Python 从字典中删除键的用户列表

Python 从字典中删除键的用户列表,python,dictionary,user-input,Python,Dictionary,User Input,让用户能够输入列表(或单数)以从字典中删除字符串键条目的最佳方法是什么 到目前为止,我就在这里 My dictionary可从中删除值(生成的字典会有所不同) 1) 因此,如何获取输入是我的第一个查询。这是我的尝试,但失败了 >>> s = raw_input('1 2 3 4') 1 2 3 4 >>> numbers = map(str, s.split()) >>> numbers [] >>> s = raw_in

让用户能够输入列表(或单数)以从字典中删除字符串键条目的最佳方法是什么

到目前为止,我就在这里

My dictionary可从中删除值(生成的字典会有所不同)

1) 因此,如何获取输入是我的第一个查询。这是我的尝试,但失败了

>>> s = raw_input('1 2 3 4')
1 2 3 4
>>> numbers = map(str, s.split())
>>> numbers
[]

>>> s = raw_input('1 2 3 4')
1 2 3 4
>>> numbers = map(int, s.split())
>>> numbers
[]
2) 如何将整数转换为word格式?这里的范围是有限的,每个字典的词条永远不会超过20个。 所以我最初的想法是创建一个排序键来解释信息

e = {'One': 1, 'Two': 2, 'Three': 3, 'Four': 4}
这并不像预期的那样只删除一个条目

>>> e = {'One': 1, 'Two': 2, 'Three': 3, 'Four': 4}
>>> {k:v for k,v in e.items() if v!=(1 and 3)}
{'Four': 4, 'Two': 2, 'One': 1}

我的意图是从d中删除值,而不是从e中删除值。它也不实用,因为我不知道用户将输入多少条目,所以使用“and”语句似乎是错误的。

首先,原始输入的参数仅用于显示。您需要自己输入:

>>> s = raw_input("Enter a sequence of number: ")
Enter a sequence of number: 1 2 3 4
>>> print s
1 2 3 4
现在,您可以使用列表来映射它:

m = ['1':'One', '2':'Two', '3':'Three', .., '10':'Ten']
编辑以下是如何转换它:

e = [v for k, v in m.items() if k in s]
第三,字典理解(或一般的“理解”)不是为了修改现有对象,而是为了创建一个新对象。最接近的方法是让它像一个过滤器一样工作,并将结果重新分配回
d

d = {k:v for k, v in d.items() if k not in e}

您是如何将用户输入s转换为e的?@sayth更新了我的答案,做了一些更改。这似乎不起作用>>s=raw_输入(“输入数字”))输入数字:1234>>s'1234'>>Numbers=map(int,s.split())>>Numbers[1,2,3,4]>>m=['1','2','3','4','5','6','7','8']>>e=[i代表i,如果i代表m,如果i代表s]>>>e[]>>e=[i代表i,如果i代表m,如果i代表数字]>>>e[]@sayth My bad.稍等。
d = {k:v for k, v in d.items() if k not in e}