在Python3中,我可以使用System.out.println("Key set values are: " + keyset);
接受任意数量的位置参数。
一个证明这一点的样本:
keyset.toString()
将因此打印:
KeySet
我不确定的是,如果实际上可以保证保留存储在AbstractSet
中的位置参数的顺序?
我可以相信,如果我打电话给AbstractCollection
,那么KeySet
总是 iterator()
还是仅仅是实现细节的副作用?
在尝试研究此问题时,我发现*
中的顺序自def a(*args):
for argument in args:
print(argument)
a(1,2,3,4)
起就被保留了,而PEP-468中对此进行了指定,但是我从未发现任何提及{{ 1}}。
答案 0 :(得分:1)
肯定会保留Order,因为* args将参数视为元组数据类型。
在Python元组中总是有其顺序。
仅字典是一种不会遵循python中的顺序的数据类型