鱼C论坛

 找回密码
 立即注册
查看: 1754|回复: 10

[已解决]list 中 pop是否可以 从list的最后一项一直pop到第一项呢

[复制链接]
发表于 2017-7-22 05:34:15 | 显示全部楼层 |阅读模式

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

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

x
在考虑list 的 reverse 的时候想到了另外一个方法 但是运行起来不可行,代码如下 是否是因为pop()的问题导致不可行或者是不是逻辑方面有问题 求大手子拯救

  1. member = [1,2,3,4,5,6,7,8,9]
  2. empty = []
  3. for i in member:
  4.     if i not in empty:
  5.         a = member.pop()
  6.         empty.append(a)
  7. print(empty)
复制代码


这个代码print结果是 [9, 8, 7, 6, 5] 而不是 [9,8,7,6,5,4,3,2,1]  
最佳答案
2017-7-22 09:21:21
因为你循环倒5的时候,member=[1,2,3,4.5]后面已经没有了,就不循环了啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-7-22 05:42:51 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-7-22 05:57:34 | 显示全部楼层
需要拯救
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-22 07:45:27 | 显示全部楼层
我也不清楚你的问题出在哪,你设置的 i 貌似没用什么,按照你的想法,这样代码结果运行是对的,你看看
member = [1,2,3,4,5,6,7,8,9]
empty = []
i = 9
while i > 0:
    a = member.pop()
    empty.append(a)
    i -=1
print(empty)
   
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-22 08:18:55 | 显示全部楼层
亭ting 发表于 2017-7-22 07:45
我也不清楚你的问题出在哪,你设置的 i 貌似没用什么,按照你的想法,这样代码结果运行是对的,你看看
mem ...

谢谢 你这个看的懂 我就想知道我的想法为啥不行。。。 我的代码里面把a 看作 i就行。。。。其实都一样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-22 09:08:58 | 显示全部楼层
求助大手子
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-22 09:21:21 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
因为你循环倒5的时候,member=[1,2,3,4.5]后面已经没有了,就不循环了啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-22 09:47:04 | 显示全部楼层
本帖最后由 ba21 于 2017-7-22 10:46 编辑


原来是想知道什么原因。原因就是你前面一边迭代,后边一边删,到中间就无法迭代了。

  1. member = [1,2,3,4,5,6,7,8,9]
  2. empty = []
  3. while member:
  4.     a = member.pop()
  5.     if a not in empty:      
  6.         empty.append(a)
  7. print(empty)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-22 13:16:13 | 显示全部楼层
Mrzhou1201 发表于 2017-7-22 09:21
因为你循环倒5的时候,member=[1,2,3,4.5]后面已经没有了,就不循环了啊

卧槽 对的! 想了这么久才发现!!!! 谢了谢了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-22 13:39:23 | 显示全部楼层
ba21 发表于 2017-7-22 09:47
原来是想知道什么原因。原因就是你前面一边迭代,后边一边删,到中间就无法迭代了。

对的对的。。。 忘记了pop的本质是删除。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-22 14:09:53 | 显示全部楼层
justlovedder 发表于 2017-7-22 13:39
对的对的。。。 忘记了pop的本质是删除。。。

member=[1,2,3,4.5] 最佳。白忙了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 09:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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