鱼C论坛

 找回密码
 立即注册
查看: 1727|回复: 5

有关while循环处理列表的问题(小白求教)

[复制链接]
发表于 2020-3-13 22:30:12 | 显示全部楼层 |阅读模式

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

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

x
代码:
heros = ["Flora","Ezreal","Sona","Vyane","Ryze"]
heros_picked = []
for hero in heros:
    print("Your team has picked " + hero + ".")
    heros.remove(hero)
    heros_picked.append(hero)
print("These are the hero your team has picked:\n")
for i in heros_picked:
    print(i)
print("Here are the heros left:\n")
for i in heros:
    print(i)
我想让列表heros里的全部元素都到列表heros_picked里面:
但是为什么结果是这样:
Your team has picked Flora.
Your team has picked Sona.
Your team has picked Ryze.
These are the hero your team has picked:

Flora
Sona
Ryze
Here are the heros left:

Ezreal
Vyane
它隔一个处理一个

请各位大佬指教!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-13 22:38:17 From FishC Mobile | 显示全部楼层
其中把for hero in heros这一句改成for hero in heros[:]当遍历列表时不要去操作遍历的列表,因为你不清楚原列表变成了什么样?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-13 22:38:55 | 显示全部楼层
边取边删。列表还是原来的列表吗?
for hero in heros[:]:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-14 06:27:09 | 显示全部楼层
你要一次性print完成
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-14 10:20:38 | 显示全部楼层
heros = ["Flora","Ezreal","Sona","Vyane","Ryze"]
heros_picked = []
for hero in heros[:]:
    print("Your team has picked " + hero + ".")
    heros_picked.append(hero)
    heros.remove(hero)
print("\nThese are the hero your team has picked:")
for i in heros_picked:
    print(i)
print("\nHere are the heros left:")

for i in heros:
    for y in heros_picked:
        if i == y:
            pass
        else:
            print(i)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-14 13:36:03 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 21:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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