python - 嵌套追加操作出错?
问题描述
我有两个列表:a = [0], b = [[0,1]]
,我想先追加 2 a
,然后追加a
到b
. b
应该如此[[0,1], [0,2]]
。像这样的操作效果很好:
a.append(2)
b.append(a)
但是当我尝试将它们结合起来时:
b.append(a.append(2))
我得到了结果:
a = [0, 2], b = [[0, 1], None]
这里有什么问题?
解决方案
正如评论中回答的那样,a.append(2)
仅附加2
到 list a
,但实际上并没有返回它。不修改原始列表但返回带有附加值的新列表的追加操作可以简单地使用+
-operator 编写。
>>> a, b = [0], [[0, 1]]
>>> b.append(a + [2]) # The list that is returned to the append function is [0, 2]
>>> a
[0]
>>> b
[[0, 1], [0, 2]]
推荐阅读
- python-3.x - 如何解决这个 cv2.cvtColor() 错误?
- haskell - 使用 Streamly 消费无限单子流
- reactjs - 如何在反应js中发生事件(按钮单击)时将组件替换为另一个组件
- c# - 如何从字符串 [] 中查询具有最低时间戳的项目
- javascript - 如何使用 html 输入标签和 javascript 打开一个完全不同的新网站?
- javascript - 从角度的可观察操作返回值?
- python - 如何在 Windows 上创建 conda 环境快捷方式
- c# - Unity 2d - 我想在自上而下的游戏中移除图像的旋转
- oracle - 如何在 APEX ORACLE 中创建和使用多选列表?
- javascript - 修改函数以显示当前选择的数组元素