我不明白如何通过'任意'顺序完成字典或python中的循环.
我的意思是,它是一种编程语言,所以语言中的所有内容都必须100%确定,对吗?Python必须有某种算法来决定选择字典或集合的哪一部分,第一,第二等等.
我错过了什么?
试图理解 Python for 循环,我认为这会给出{1}一次迭代的结果,或者只是陷入无限循环,这取决于它是否像在 C 或其他语言中那样进行迭代。但实际上两者都没有。
>>> s = {0}
>>> for i in s:
... s.add(i + 1)
... s.remove(i)
...
>>> print(s)
{16}
Run Code Online (Sandbox Code Playgroud)
为什么要进行 16 次迭代?结果{16}从何而来?
这是使用 Python 3.8.2。在 pypy 上,它产生了预期的结果{1}。
以下程序是否保证始终产生相同的输出?
s = 'fgvhlsdagfcisdghfjkfdshfsal'
for c in s:
print(c)
Run Code Online (Sandbox Code Playgroud)