我有一个需要分配随机顺序的对象集合。我写了一个非常笨的java风格的循环来做到这一点,但是为了达到同样的效果,更奇特的pythonic方法是什么?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]
+1这个是更pythonic,唯一我必须做的事情是添加一个'开始'1所以'列举(测试,1)' – Nix