python - 如何反转字典或列表中的值?

标签 python list dictionary

我有一本字典

{1:’one’,2:’two’}

我想用一个函数反转它变成下面的样子

{‘1:’eno’,2:’owt’ }

我该怎么做?

同样,如果我有一个像[15,49]这样的列表或元组,我如何将它转换为[94,51]

最佳答案

您可以使用简单的字典理解,利用 string[::-1] 反转字符串的事实:

>>> d = {1: "one", 2: "two"}
>>> {x: v[::-1] for x, v in d.items()}
{1: 'eno', 2: 'owt'}

你也可以定义一个函数:

def reverse_values(dct):
    for key in dct:
       dct[key] = dct[key][::-1]

这将改变同一个字典中的值。

>>> reverse_values(d)
>>> d
{1: 'eno', 2: 'owt'}

要将 [15,49] 类型的列表转换为 [94, 51],您可以尝试下面的代码片段(这适用于 类型的列表>[12, 34, 56, 78][87, 65, 43, 21]):

>>> l = [15,49]
>>> [int(str(x)[::-1]) for x in l[::-1]]
[94, 51]

关于python - 如何反转字典或列表中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29981473/

相关文章:

python - 从列表分区创建多个字典

python - 将列表中的真值与另一个列表进行比较

c# - 让 C# 垃圾收集列表而不是重用它是一种不好的形式吗?

c# - WPF - 将列表添加到树中的好方法

arrays - Swift:具有唯一键和与键匹配的一组值的字符串字典

python - 为什么使用字典测试包含比使用集合测试更快?

python - 在 Pygame 中,当移动到游戏窗口上的另一个位置时,图像不会被删除

python - 无法将 python datetime.date 对象与 sqlite DATE 匹配

python - 迭代不同长度的列表

javascript - C# 中的 array.map() 示例?