首页 > 解决方案 > 列表不保存其值 - python

问题描述

我对 Python 中的列表有疑问。基于以下用 Pycharm 编写并使用 pypy 解释器的代码,当我清除第一个列表时,第二个列表会丢失其给定值。

def test():

    first_list = []
    second_list = []

    for i in range(10):
        first_list.append(i)

    if len(first_list)>1:
        second_list.append(first_list)
        first_list.clear()

    for j in range(100,105):
        first_list.append(j)

    if len(first_list)>1:
        second_list.append(first_list)
        first_list.clear()

    print(second_list)


#output:
[[], []]

标签: pythonlist

解决方案


复制与参考问题。

first_list = []
second_list = []

for i in range(10):
    first_list.append(i)

if len(first_list)>1:
    second_list.append(first_list[:])
    first_list.clear()

for j in range(100,105):
    first_list.append(j)

if len(first_list)>1:
    second_list.append(first_list[:])
    first_list.clear()

print(second_list)

推荐阅读