如何在Python中连接两个列表?
例:
listone = [1, 2, 3]
listtwo = [4, 5, 6]
Run Code Online (Sandbox Code Playgroud)
预期结果:
>>> joinedlist
[1, 2, 3, 4, 5, 6]
Run Code Online (Sandbox Code Playgroud) 我无法理解list.append()Python 中以下两个行为示例:
list_1 = ['A', 'B']
list_2 = ['C', 'D']
copy_l1 = list_1
copy_l1.append(list_2)
Run Code Online (Sandbox Code Playgroud)
例子
print(copy_l1)
Run Code Online (Sandbox Code Playgroud)
结果:['A', 'B', ['C', 'D']]
预期的:['A', 'B', 'C', 'D']。
道理我都懂,但是如何才能达到预期的效果呢?
例子
print(list_1)
Run Code Online (Sandbox Code Playgroud)
结果:['A', 'B', ['C', 'D']]
预期的:['A', 'B']。
这是我最不解的。为什么copy_l1.append(list_2)还影响list_1?由于我的 C 背景,这在我看来就像我正在研究指针,但我认为情况不应该如此。什么意思?
我有一些将结果对象附加到列表的 python 代码。
objs = []
objs.append(results['Contents'])
Run Code Online (Sandbox Code Playgroud)
如果我打印results['Contents'],它看起来像这样:
[
{
"id": 1,
"name", "joe"
},
{
"id": 2,
"name", "jane"
},
{
"id": 3,
"name", "john"
}
]
Run Code Online (Sandbox Code Playgroud)
但是,当我打印时objs,它看起来像这样 - 正如您所看到的,它现在是列表中的一个列表:
[
[
{
"id": 1,
"name", "joe"
},
{
"id": 2,
"name", "jane"
},
{
"id": 3,
"name", "john"
}
]
]
Run Code Online (Sandbox Code Playgroud)
这开始给我带来问题,因为我开始循环并附加更多对象(结构类似于results['Contents']),如下所示:
objs.append(l_objs['Contents'])
Run Code Online (Sandbox Code Playgroud)
当我最终得到这样的结果时:
[
[
{
"id": 1,
"name", "joe"
},
{
"id": 2,
"name", "jane"
},
{
"id": 3,
"name", …Run Code Online (Sandbox Code Playgroud)