gpt4 book ai didi

设置排序顺序的 Pythonic 方式?

转载 作者:太空宇宙 更新时间:2023-11-03 13:51:46 24 4
gpt4 key购买 nike

我有一个对象集合,我需要分配一个随机顺序。我写了一个非常愚蠢的 Java 风格的循环来完成它,但是实现相同功能的更高级的 Pythonic 方法是什么?

from random import shuffle

class pair(object):
def __init__(self, name):
self.name = name
self.order = 0
def __repr__(self):
return self.name + " order: " + str(self.order)

test =[pair('a'),pair('b'),pair('c'),pair('d')]
print(test)
#shuffle the list
shuffle(test)
i = 1
#this is what i want to replace <------
for t in test:
t.order=i
i+=1

print(test)

示例输出:

>>>[a order: 0, b order: 0, c order: 0, d order: 0]
>>>[c order: 1, a order: 2, d order: 3, b order: 4]

最佳答案

这并不比你的简单很多,但它可能更简洁一点:

for i, t in enumerate(test):
t.order = i

关于设置排序顺序的 Pythonic 方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6999749/

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