python - 虽然循环步骤不适用于嵌套数组?
问题描述
我正在尝试更改数组的每个第二个元素中的某些内容。在那个元素中,我只想修改第 5 个元素(它是一个数组数组)。我想通过在我的 while 循环中执行 2 步来做到这一点。因此我添加了i += 2
.
现在很奇怪:当我只输入:
PaylikeTableWithFee[i] = 'hello'
然后它工作并且只有每隔一个数组被修改并设置为“你好”。
但是,当我这样做时:
PaylikeTableWithFee[i][5] = 'hello'
尽管循环的步长为 2,但每个数组都会被修改。
i = 1
while i < len(PaylikeTableWithFee):
PaylikeTableWithFee[i][5] = 'hello'
i += 2
通常只应编辑主数组中每 2 个数组的第 5 个元素。
解决方案
问题可能在于您如何创建数组。我怀疑你用类似的东西装箱了PaylikeTableWithFee = [[0,1,2,3,4,5]] * n
。这只会创建一个内部数组PaylikeTableWithFee
,然后将是一个具有相同参考n
时间的数组。因此使用PaylikeTableWithFee[0][5] = 'hello'
会改变(看起来像)每个内部数组。
确保PaylikeTableWithFee
不同的内部数组,例如PaylikeTableWithFee = [[0,1,2,3,4,5] for _ in n]
.
推荐阅读
- powershell - Powershell:如何在“Out-String”和“Get-Content”字符串变量类型之间轻松切换?
- javascript - 如何为剑道网格列设置自定义模板
- javascript - 如何知道 Chart.js 中水平条的长度
- css - box-shadow 仅在通过开发工具禁用和重新启用时才在 Chrome 中工作
- r - 从键匹配并返回 R 中的唯一 ID
- javascript - 开始滚动页面时 CPU 开始发疯
- python-3.x - 如何使用 matplotlib 使我的情节看起来像这样?
- arrays - 一个大小为 n 的数组 A 可以具有的最大反转次数是多少?
- css - 物化 CSS 中的错误 sidenav
- flutter - 飘扬的透明帆布