何我在Python set()中获取list[]表单的内容?
我需要这样做是因为我需要在Google App Engine中保存集合,而实体属性类型可以是列表,但不是集合.我知道我可以迭代整个事情,但似乎应该有一个捷径,或"最佳实践"的方式来做到这一点.
Pet*_*rin 66
请参阅Sven的答案,但我会使用该sorted()函数:这样您就可以以一个很好的可预测顺序获取元素(例如,您可以比较之后的列表).
>>> s = set([1, 2, 3, 4, 5])
>>> sorted(s)
[1, 2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)
当然,必须对set元素进行排序才能使其工作.您无法对复数进行排序(请参阅gnibbler的评论).在Python 3中,您也无法对具有混合数据类型的任何集合进行排序,例如set([1, 2, 'string']).
您可以使用sorted(s, key=str),但在这些情况下可能不值得.
Sve*_*ach 64
>>> s = set([1, 2, 3])
>>> list(s)
[1, 2, 3]
Run Code Online (Sandbox Code Playgroud)
请注意,您获得的列表没有已定义的顺序.
| 归档时间: |
|
| 查看次数: |
64235 次 |
| 最近记录: |