gpt4 book ai didi

python - 在列表中重新排序列表值的正确方法是什么?

转载 作者:行者123 更新时间:2023-12-02 16:05:02 24 4
gpt4 key购买 nike

我想重新排序 a_list 中列表的值。

这是我当前的片段:

a_list = [["a", "b", "c"], ["a", "b", "c"], ["a", "b", "c"]]
order = [1, 0, 2]

a_list = [a_list[i] for i in order]

print(a_list)

这是我当前的输出:

[['a', 'b', 'c'], ['a', 'b', 'c'], ['a', 'b', 'c']]

这是我想要的输出:

[['b', 'a', 'c'], ['b', 'a', 'c'], ['b', 'a', 'c']]

最佳答案

您需要访问a_list 的每个子列表,然后在该子列表中重新排序。使用列表理解,它会像:

a_list = [["a", "b", "c"], ["a", "b", "c"], ["a", "b", "c"]]
order = [1, 0, 2]

a_list = [[sublst[i] for i in order] for sublst in a_list]

print(a_list) # [['b', 'a', 'c'], ['b', 'a', 'c'], ['b', 'a', 'c']]

您当前的代码会自行重新排序子列表;即,例如,如果您开始于

a_list = [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i']]

那么结果就是

[['d', 'e', 'f'], ['a', 'b', 'c'], ['g', 'h', 'i']]

关于python - 在列表中重新排序列表值的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69657827/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com