我最近几天一直在想一段我不懂的代码.

a = [1,1,2,3,5,8]
for a[1] in a:
 pass
print(a)

该代码的输出为:

[1,8,2,3,5,8]

这是怎么发生的?

推荐答案

该循环实际上相当于:

for x in a:
    a[1] = x

因此,每次通过循环时,它都会将列表的当前元素设置为a[1].最后,它包含列表的最后一个元素.

Python相关问答推荐

有什么方法可以避免使用许多if陈述

Python plt.text中重叠,包adjust_text不起作用,如何修复?

提取两行之间的标题的常规表达

通过优化空间在Python中的饼图中添加标签

如何自动抓取以下CSV

Matlab中是否有Python的f-字符串等效物

如何检测背景有噪的图像中的正方形

将pandas Dataframe转换为3D numpy矩阵

无法定位元素错误404

如何在Python数据框架中加速序列的符号化

多处理队列在与Forking http.server一起使用时随机跳过项目

dask无groupby(ddf. agg([min,max])?''''

ConversationalRetrivalChain引发键错误

如何删除重复的文字翻拍?

BeautifulSoup-Screper有时运行得很好,很健壮--但有时它失败了::可能这里需要一些更多的异常处理?

GPT python SDK引入了大量开销/错误超时

提取数组每行的非零元素

如何在Python中将超链接添加到PDF中每个页面的顶部?

如何使用matplotlib查看并列直方图

操作布尔值的Series时出现索引问题