我是Python的新手,我正在尝试用字典做不同的事情。我对如何将所有先前项目的顺序颠倒为值大于10的项目感到怀疑]
Input: [1 : value1, 2 : value2, 3 : value3, 4 : value4], knowing that (value3 * 2) > 10 Output : [1 : value2, 2 : value1, 3 : value3, 4 : value4]
带有字典中的真实示例:
Input : {0: 1, 1: 4, 2: 6, 3: 1, 4: 2} Output : {0: 4, 1: 1, 2: 6, 3: 1, 4: 2}
如果有多个数字,我希望每组项目都可以颠倒:
Input : {0: 1, 1: 4, 2: 6, 3: 2, 4: 1, 5: 6, 6: 1, 7: 2}
Output : {0: 4, 1: 1, 2: 6, 3: 1, 4: 2, 5: 6, 6: 1, 7: 2}
我是Python的新手,我正在尝试用字典做不同的事情。我对如何将所有先前项目的顺序颠倒为值大于10的项目有疑问:[1:value1,2:...
似乎您在set和list之间感到困惑。如果是列表,解决方案将是:
def swapper(d):
keys = []
values = []
for p in d:
if p*d[p] > 10:
values.reverse() # reverse the order of values
for k,v in zip(keys, values): # update values
d[k] = v
keys = [] # empty the keys and values lists
values = []
else: # keep track of the things we will need to swap
keys.append(p)
values.append(d[p])
return d