python - 如何从列表列表中复制一些元素,这样就不会影响复制列表中元素的值

标签 python

我想做的是根据一定的条件把一个list-of-list的一些元素复制到另一个list中,然后改变原来的list of lists

arr = [[1,0,4],[1,2,65],[2,3,56],[11,14,34]]
brr = []

for x in range(0,len(arr)):
    if arr[x][1] < 10:
        brr.append(arr[x])
        arr[x][1] = 1000
print(brr)

O/P:

[[1, 1000, 4], [1, 1000, 65], [2, 1000, 56]]

在上面的例子中,我想将所有中间元素<10的列表复制到另一个list-of-list brr,然后将原始列表中的元素更改为一个大值。但是,当我更改原始列表中的值时,它也会更改第二个列表中的值

我知道当我将 arr[i] 附加到 brr 时,brr 只是将引用指针存储到 arr 中的列表,因此当这些地址的值发生更改时,它会在两个地方反射(reflect)出来,

此外,如果我必须复制整个 l-o-l,我可以使用 deepcopy 来完成,但是如果有条件/条件,最好的方法是什么

最佳答案

这是另一种复制列表的方法,以及一种更像 Python 的遍历列表的方法

arr = [[1, 0, 4], [1, 2, 65], [2, 3, 56], [11, 14, 34]]
brr = []

for x in arr:
    if x[1] < 10:
        brr.append(list(x))
        x[1] = 1000
print(brr)
# [[1, 0, 4], [1, 2, 65], [2, 3, 56]]

关于python - 如何从列表列表中复制一些元素,这样就不会影响复制列表中元素的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55306268/

相关文章:

python - 如何在 Ubuntu 上配置支持 SSL 的 pymssql?

python - Django 将所有未捕获的 url 路由到包含的 urls.py

python - 从 pandas 数据帧生成命名元组的字典

python - 为什么我应该使用 API 作为 django-tastypie 或 django-rest-framework?

python - obj-C 与 python 中的 Unix 时间

python 2.7 re.MULTILINE 问题

python - 加载的主题图标的位置在哪里?

Python Scrapy - 无法登录网站

python - 在groupby子句python pandas中获取列均值

Python后台进程不写入MySQL数据库