有人可以帮助纠正列表中列表的反转吗?

问题描述

我正在尝试反转以下内容

z = list(reversed(i) for i in zip(['FRED','CORWILL'],['WILFRED',['RAPHAEL',['ALFRED',['BARNEY','TORNBULL'],['BETTY',['BJON','TORNBULL']))

print(z)

所以基本上,我需要 ['FRED','CORWILL'] 变成 ['CORWILL','FRED] 并且对于所有其他列表也是如此。

有人可以帮忙修改上面的代码,而不是编写全新的代码来实现所需的输出吗?

谢谢

解决方法

你把问题复杂化了,你用的逆函数已经帮你解决了!

print(list(reversed(["FRED",'CORWILL'])))

对于多个情况,您只需为每个名称列表重复该过程。

print(list(list(reversed(names)) for names in [['FRED','CORWILL'],['JOHN','MARIA']]))

请注意,我使用了 list(reversed(i)) 而不是 reversed(i),因为 reversed 返回的是一个生成器,而不是我们在打印时可以看到的实际列表。以下将是您执行时的输出:

[,]

,

您不需要zipreversedlist...

initial = [
    ['FRED',['WILFRED',['RAPHAEL',['ALFRED',['BARNEY','TORNBULL'],['BETTY',['BJON','TORNBULL']
]

你可以这样做:

swapped = [[b,a] for [a,b]  in initial]

甚至这个:

swapped = [sublist[::-1] for sublist  in initial]