我有一个字典,其中有四个键a
,b
,c
,d
,值分别为100
,200
,{{ }},300
400
还有一个变量list1 = {'a':'100','b':'200','c':'300','d':'400'}
。
inputs
如果输入为inputs = 'c'
。 c
字典必须基于它进行排序。
list1
答案 0 :(得分:6)
在Python3.7 +中,字典键按插入顺序存储
k ='c'
d={k:list1[k]}
for key in list1:
if key!=k:
d[key]=list1[key]
输出
{'c': '300', 'a': '100', 'b': '200', 'd': '400'}
答案 1 :(得分:3)
似乎您只是想重新排列字典,使所选的值位于最前面,然后再其余键:
dict1 = {'a':'100','b':'200','c':'300','d':'400'}
key = 'c'
result = {key: dict1[key], **{k: v for k, v in dict1.items() if k != key}}
print(result)
# {'c': '300', 'a': '100', 'b': '200', 'd': '400'}
**
仅将剩余的过滤键与key: dict1[key]
合并。
答案 2 :(得分:2)
如果只想将给定值更改为第一个位置(如果存在),可以通过以下方式完成:
list1 = {'a':'100','b':'200','c':'300','d':'400'}
inputs = 'c'
output = {}
if inputs in list1.keys():
output[inputs] = list1.get(inputs)
for i in list1.keys():
output[i] = list1[i]
输出;
{'c': '300', 'a': '100', 'b': '200', 'd': '400'}
答案 3 :(得分:0)
这里是单线:
d = {'a':'100','b':'200','c':'300','d':'400'}
i = input()
d = {i:d[i],**{k:d[k] for k in d if k!=i}}
print(list1)
输入:
c
输出:
{'a': '100', 'b': '200', 'd': '400', 'c': '300'}