Python中文
首页
教程
问答
标签
搜索
登录
注册
为什么列表在python和Java中的行为不同?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在学习脚本语言python。我很懂Java。我正在尝试将一段代码从Java翻译成python。但他们行为反常(或者我的理解可能完全错误) 我用Java编写了以下代码,其中无限期地向ArrayList添加元素。 所以这会导致outofmemory错误,我预计:</p> <pre><code>import java.util.*; public class Testing{ public static void main(String[] args){ ArrayList<Integer> list = new ArrayList<Integer>(); list.add(5); list.add(4); for (int i=0;i<list.size();i++){ list.add(5); } } } </code></pre> <p>现在用相同的python代码翻译:</p> ^{pr2}$ <p>这里我得到了输出:<code>[5, 4, 5, 5]</code></p> <p>在我看来,这个列表不是作为对python中的<code>for</code>循环的引用传递的吗?在</p> <p>同样的</p> <pre><code>>>> l=[1,2,3] >>> for i in l[:]: ... l.append(4) ... print l ... [1, 2, 3, 4] [1, 2, 3, 4, 4] [1, 2, 3, 4, 4, 4] </code></pre> <p>在<code>for</code>循环内的每次迭代中,我都在增加列表大小,所以迭代应该永远正确吗?在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p><code>range(len(lst))</code>创建一次范围,然后迭代该范围,而在java中,<code>list.size()</code>在每次迭代中都会求值</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
(编辑)背景2+均值漂移跟踪?
7 回答
(网络爬虫)如何从新闻网站获取新闻段落的文本
9 回答
(置换)列表的唯一组合
2 回答
(美丽的soap4,)AttributeError:“非类型”对象没有属性“获取文本”
1 回答
(聊天室)使用套接字通常只允许一个地址(协议/网络地址/端口)
1 回答
(自动)在Pycharm/Python中的=后缩进
8 回答
(自动Py到Exe和Python)找不到“googleapipythonclient”发行版,该发行版是应用程序所必需的
8 回答
(自动操作)write()和do for循环的Odoo问题
3 回答
(自定义)百分位MSE损失函数
1 回答
(自定义用户)createsuperuser TypeError:hasattr():属性名必须是字符串
3 回答
(节点)警告:检测到可能的EventEmitter内存泄漏。添加了11个消息侦听器。使用emitter.setMaxListeners()增加limi
7 回答
(若变量中有字符串)语句未筛选出数据
4 回答
(英语、Perl、Python、Ruby)在代码片段的基础上进行比较?
1 回答
(范围(1,36),7)和+条件下的所有组合
1 回答
(范围(3),范围(3))值错误:要解压缩的值太多(预期为2)
4 回答
(蟒蛇) 平均分配数字
1 回答
(行、列):数据帧的值
6 回答
(行、列)形式的最小值
4 回答
(解决)导入PYBID11/C++编译模块不工作
7 回答
(记忆有效)将“排序”作为生成器实现
4 回答