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

Gre*_*dux 2 python dictionary list

我有一本字典

{1:’one’,2:’two’}
Run Code Online (Sandbox Code Playgroud)

我想用一个函数来反转它,并转到下面

{‘1:’eno’,2:’owt’ }
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

同样,如果我有一个列表或元组[15,49],我怎么能把它转换成[94,51]

mu *_*u 無 12

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

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

您还可以定义一个函数:

def reverse_values(dct):
    for key in dct:
       dct[key] = dct[key][::-1]
Run Code Online (Sandbox Code Playgroud)

这会改变同一个词中的值.

>>> reverse_values(d)
>>> d
{1: 'eno', 2: 'owt'}
Run Code Online (Sandbox Code Playgroud)

对于转换类型的列表[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]
Run Code Online (Sandbox Code Playgroud)