求助:列表循环删除
诉求:在原始列表里随机抽取三个人,然后除去这三个人。lst=[]-------这个就是一个名单,具体见下面输出的,就不复制了
print("原始:",lst)
n3 = random.sample(lst,3)
print("随机抽三个:",n3)
for n3 in lst:
lst.remove(n3)
print("剩下的:",lst)
结果:
原始: ['孙*涵', '解*旋', '闫*琪', '黄*佳', '臧*云', '孙*斯', '孙*东', '赵*生', '罗*璇', '许*月', '屈*秀', '孟*南', '谭*彬', '刘*雄', '刘*慧']
随机抽三个: ['闫*琪', '刘*雄', '罗*璇']
剩下的: ['解*旋', '黄*佳', '孙*斯', '赵*生', '许*月', '孟*南', '刘*雄']
我觉得程序没啥问题,但是明显看到这个刘*雄还在列表里,没被删除啊 for n3 in lst: 这里有问题,不要用 n3 覆盖掉原来的 n3,而且应该是 in n3 ,而不是 in lst
import random
lst=['孙*涵', '解*旋', '闫*琪', '黄*佳', '臧*云', '孙*斯', '孙*东', '赵*生', '罗*璇', '许*月', '屈*秀', '孟*南', '谭*彬', '刘*雄', '刘*慧']
print("原始:",lst)
n3 = random.sample(lst,3)
print("随机抽三个:",n3)
for i in n3: # 改了这里
lst.remove(i) # 改了这里
print("剩下的:",lst) isdkz 发表于 2023-1-13 10:28
for n3 in lst: 这里有问题,不要用 n3 覆盖掉原来的 n3,而且应该是 in n3 ,而不是 in lst
哦哦,感谢感谢
页:
[1]