如何在python中将列表列表转换为原始顺序的冻结列表

时间:2016-03-27 07:53:55

标签: python-2.7

我有一个列表列表,我想按原始顺序转换为frozenset列表。我已经尝试了下面的代码,但输出不是原始顺序。

data=[[118, 175, 181, 348, 353], [117, 175, 181, 371, 282, 297], [119, 166, 176, 54, 349]]

我的代码:

>>> transactionList=list()
>>> for rec in data:
      transaction = frozenset(rec)
      transactionList.append(transaction)

我得到的输出不是原始顺序:

>>> transactionList
    [frozenset([353, 348, 181, 118, 175]), frozenset([297, 175, 371, 181, 282, 117]), frozenset([176, 349, 54, 166, 119])]

我的预期输出按原始顺序排列:

>>> transactionList
    [frozenset([118, 175, 181, 348, 353]), frozenset([117, 175, 181, 371, 282, 297]),frozenset([119, 166, 176, 54, 349])]

1 个答案:

答案 0 :(得分:0)

frozensetset一样,没有定义的顺序。有关使用自定义类克服此问题的方法,请参阅Does Python have an ordered set?