gpt4 book ai didi

python - 对一个列表所做的更改如何影响另一个不同的列表?

转载 作者:太空宇宙 更新时间:2023-11-04 10:27:36 25 4
gpt4 key购买 nike

所以,我有两个列表,其中包含:

[10, 10, 2, 9, 10]
['Jem', 'Sam', 'Sam', 'Jem', 'Jem']

我想使用 .sort() 函数对第二个列表进行排序,我希望对第二个列表所做的更改影响第一个列表,即

['Jem', 'Jem', 'Jem', 'Sam', 'Sam']
[10, 9, 10, 10, 2]

如果不清楚,则将其视为链接的两个列表。两个列表([0]、[1] 等)中每个点的字符串/整数连接在一起,因此一个列表中元素位置的每次变化都反射(reflect)在列表元素位置的相同变化上另一个列表中的相应元素。我将如何实现这一点?

最佳答案

将您的两个列表实际链接到一个元组列表中可能有意义:

list_1 = [10, 10, 2, 9, 10]
list_2 = ['Jem', 'Sam', 'Sam', 'Jem', 'Jem']

merged_list = zip(list_1, list_2)
print sorted(merged_list, key=lambda x: x[1])

这会打印出以下内容:

[(10, 'Jem'), (9, 'Jem'), (10, 'Jem'), (10, 'Sam'), (2, 'Sam')]

然后,如果需要,您可以取消合并这些列表(分为两个单独的元组),否则您可以对元组列表进行操作

unlinked = zip(*sorted_merged)
print unlinked

输出:

[(10, 9, 10, 10, 2), ('Jem', 'Jem', 'Jem', 'Sam', 'Sam')]

关于python - 对一个列表所做的更改如何影响另一个不同的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28549985/

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