找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 7917|回复: 10

[已解决] 删除列表指定元素,删不干净

5

主题

16

帖子

16

积分

贫民

积分
16
mdily 发表于 2016-7-15 09:16:32 | 显示全部楼层 |阅读模式
# 需要删除列表中的元素a,e,i,o,u,h,y,w,列表顺序不得打乱

for item in word:
    if item in ['a','e','i','o','u','h','y','w']:
        word.remove(item)

# 当连续出现两个相同或多个的字母时,还是会保留一个

回复

使用道具 举报

5

主题

165

帖子

165

积分

版主

Rank: 7Rank: 7Rank: 7

积分
165

热心会员突出贡献优秀版主荣誉管理

mongo 发表于 2016-7-15 10:33:45 | 显示全部楼层
楼主  ,你的 word是迭代器,还是列表,都没贴清楚呀
回复 支持 反对

使用道具 举报

5

主题

16

帖子

16

积分

贫民

积分
16
mdily  楼主| 发表于 2016-7-15 10:37:10 | 显示全部楼层
mongo 发表于 2016-7-15 10:33
楼主  ,你的 word是迭代器,还是列表,都没贴清楚呀

是列表
回复 支持 反对

使用道具 举报

5

主题

165

帖子

165

积分

版主

Rank: 7Rank: 7Rank: 7

积分
165

热心会员突出贡献优秀版主荣誉管理

mongo 发表于 2016-7-15 10:40:00 | 显示全部楼层

那列表的元素呢
回复 支持 反对

使用道具 举报

5

主题

16

帖子

16

积分

贫民

积分
16
mdily  楼主| 发表于 2016-7-15 10:41:37 | 显示全部楼层
Xword = list(input("Enter a word to code:"))
word = Xword[1:]
for item in word:
    if item in ['a','e','i','o','u','h','y','w']:
        word.remove(item)
回复 支持 反对

使用道具 举报

5

主题

16

帖子

16

积分

贫民

积分
16
mdily  楼主| 发表于 2016-7-15 10:42:11 | 显示全部楼层
mongo 发表于 2016-7-15 10:40
那列表的元素呢

Xword = list(input("Enter a word to code:"))
word = Xword[1:]
for item in word:
    if item in ['a','e','i','o','u','h','y','w']:
        word.remove(item)
回复 支持 反对

使用道具 举报

5

主题

16

帖子

16

积分

贫民

积分
16
mdily  楼主| 发表于 2016-7-15 10:43:42 | 显示全部楼层
mongo 发表于 2016-7-15 10:40
那列表的元素呢

元素是一个单词的每个字母
回复 支持 反对

使用道具 举报

50

主题

1057

帖子

1108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1108

活跃会员热心会员最佳导师默默耕耘突出贡献优秀版主荣誉管理论坛元老

blueelwang 发表于 2016-7-15 14:53:32 | 显示全部楼层
先附上正确的代码:
  1. Xword = list(raw_input("Enter a word to code:"))
  2. word = Xword[1:]
  3. res = []
  4. for item in word:
  5.     if item not in ['a','e','i','o','u','h','y','w']:
  6.         res.append(item)
  7. print res
复制代码


然后我来说下原因:
在你使用for循环的时候,程序会默认记录当前的指针,当对word本身元素进行了删除,导致list内部的指针发生了变化,所以会出现不能完全删除的情况,你可以用我上面的代码解决这个问题
回复 支持 反对

使用道具 举报

5

主题

16

帖子

16

积分

贫民

积分
16
mdily  楼主| 发表于 2016-7-18 15:07:23 | 显示全部楼层
我懂了,谢谢
回复 支持 反对

使用道具 举报

5

主题

16

帖子

16

积分

贫民

积分
16
mdily  楼主| 发表于 2016-7-18 15:07:47 | 显示全部楼层
blueelwang 发表于 2016-7-15 14:53
先附上正确的代码:

我懂了,谢谢
回复 支持 反对

使用道具 举报

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

本版积分规则

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