追加重复项,然后将之前删除的列表增加三倍

问题描述 投票:0回答:1

我首先填充列表,然后将其保存在另一个列表中,然后再次填充并保存它,但它与已有的内容重复,并且我第一次用数据填充它时它就消失了

这是我的代码:

import random

students = ['Talles','Emanuel','TheusDido','Bianca','Ivan','Jão']
sorteds = []
raffled = ''
double = []
i = 0

while len(students) != 0:
    raffled = random.choice(students)
    students.remove(drawn)
    duo.append(drawn)
    i += 1
 
    if(i == 2):
        sorteds.append(double)
        i = 0
        double.clear()
print(sorteds)

预期结果:

 [['Theusdido','Talles'],['Ivan','Bianca'],['Jão','Emanuel']

结果发生了:

 [[],[],[]]
python list sorting append
1个回答
0
投票

这解决了所有问题:

 if(i == 2):
    sorteds.append(double.copy())
    i = 0
    double.clear()

当我执行此“sorteds.append(double)”时,我正在创建一个指针,并且与数据的关系始终相同,但是当我将“.copy()”放入列表中时,它只复制值,不是记忆中的地方

© www.soinside.com 2019 - 2024. All rights reserved.