鱼C论坛

 找回密码
 立即注册
查看: 3692|回复: 2

[已解决]求助:列表循环删除

[复制链接]
发表于 2023-1-13 10:21:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
诉求:在原始列表里随机抽取三个人,然后除去这三个人。

lst=[]-------这个就是一个名单,具体见下面输出的,就不复制了

print("原始:",lst)
n3 = random.sample(lst,3)
print("随机抽三个:",n3)
for n3 in lst:
    lst.remove(n3)
print("剩下的:",lst)


结果:

原始: ['孙*涵', '解*旋', '闫*琪', '黄*佳', '臧*云', '孙*斯', '孙*东', '赵*生', '罗*璇', '许*月', '屈*秀', '孟*南', '谭*彬', '刘*雄', '刘*慧']
随机抽三个: ['闫*琪', '刘*雄', '罗*璇']
剩下的: ['解*旋', '黄*佳', '孙*斯', '赵*生', '许*月', '孟*南', '刘*雄']

我觉得程序没啥问题,但是明显看到这个刘*雄还在列表里,没被删除啊
最佳答案
2023-1-13 10:28:30
for n3 in lst: 这里有问题,不要用 n3 覆盖掉原来的 n3,而且应该是 in n3 ,而不是 in lst
  1. import random
  2. lst=['孙*涵', '解*旋', '闫*琪', '黄*佳', '臧*云', '孙*斯', '孙*东', '赵*生', '罗*璇', '许*月', '屈*秀', '孟*南', '谭*彬', '刘*雄', '刘*慧']

  3. print("原始:",lst)
  4. n3 = random.sample(lst,3)
  5. print("随机抽三个:",n3)
  6. for i in n3:                    # 改了这里
  7.     lst.remove(i)             # 改了这里
  8. print("剩下的:",lst)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-1-13 10:28:30 | 显示全部楼层    本楼为最佳答案   
for n3 in lst: 这里有问题,不要用 n3 覆盖掉原来的 n3,而且应该是 in n3 ,而不是 in lst
  1. import random
  2. lst=['孙*涵', '解*旋', '闫*琪', '黄*佳', '臧*云', '孙*斯', '孙*东', '赵*生', '罗*璇', '许*月', '屈*秀', '孟*南', '谭*彬', '刘*雄', '刘*慧']

  3. print("原始:",lst)
  4. n3 = random.sample(lst,3)
  5. print("随机抽三个:",n3)
  6. for i in n3:                    # 改了这里
  7.     lst.remove(i)             # 改了这里
  8. print("剩下的:",lst)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-13 10:35:01 | 显示全部楼层
isdkz 发表于 2023-1-13 10:28
for n3 in lst: 这里有问题,不要用 n3 覆盖掉原来的 n3,而且应该是 in n3 ,而不是 in lst

哦哦,感谢感谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-22 20:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表