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

2024-06-16 10:09:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一本字典

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

我想用一个函数来反转它,然后变成如下

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

我该怎么做?你知道吗

类似地,如果我有一个类似于[15,49]的列表或元组,如何将其转换为[94,51]?你知道吗


Tags: 函数列表字典one元组twoenoowt
2条回答

对于question here,请使用以下命令:

假定[::-1]反转字符串,我们可以将每个数字转换为字符串,反转每个项目,再转换回整数,然后反转整个列表:

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

您可以使用一个简单的dict理解,使用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]

这将改变同一个dict中的值

>>> 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]

相关问题 更多 >