You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何代码1无法将列表字符串转整数,代码2却可以?

为什么代码1无法转换列表元素类型,而代码2可以?

问题的核心在于循环中变量操作的本质差异:

代码1的问题

在for i in x:的循环里,i只是每次从列表x中取出元素的临时副本。你执行i=int(i)只是把这个副本转换成了整数,但原列表x里的对应元素完全没被改动——就像你复印了一张写着数字的纸条,把复印件改成了数字,原件还是原样,所以最后打印x还是原来的字符串列表。

代码2的正确逻辑

代码2用for i in range(0,len(x))遍历的是列表的索引值,然后通过x[i]=int(x[i])直接定位到原列表的第i个位置,把这个位置的元素替换成转换后的整数。这相当于直接修改了原列表的内容,所以最后打印x就是整数列表了。

另外,还有更简洁的Pythonic写法,用列表推导式一步完成分割和类型转换:

x = [int(num) for num in input("Enter the notes with space after each element").split()]
print(x)

内容的提问来源于stack exchange,提问作者Huseyin Y.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 22:46:02