相关疑难解决方法(0)

为什么字典中的顺序和设置是任意的?

我不明白如何通过'任意'顺序完成字典或python中的循环.

我的意思是,它是一种编程语言,所以语言中的所有内容都必须100%确定,对吗?Python必须有某种算法来决定选择字典或集合的哪一部分,第一,第二等等.

我错过了什么?

python dictionary set python-internals

145
推荐指数
5
解决办法
2万
查看次数

为什么在迭代时添加到集合和从集合中删除时会得到这么多的迭代?

试图理解 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}

python python-internals

70
推荐指数
3
解决办法
3419
查看次数

循环遍历字符串时是否保证执行顺序?

以下程序是否保证始终产生相同的输出?

s = 'fgvhlsdagfcisdghfjkfdshfsal'
for c in s:
    print(c)
Run Code Online (Sandbox Code Playgroud)

python for-loop python-3.x order-of-execution

3
推荐指数
1
解决办法
121
查看次数