鱼C论坛

 找回密码
 立即注册
查看: 1312|回复: 4

[已解决]列表超出限制异常问题

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

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

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

x
本帖最后由 SillyMe 于 2017-4-7 09:43 编辑

代码如下:


    number = [1,2,3,4,5,6,3,5,4,8]
    len_num = list(range(len(number)))
    for each_num in len_num:
        for sub_num in len_num[each_num+1:]:
            if number[each_num] == number[sub_num]:
                number.pop(sub_num)
                len_num.pop()
    print(number)




    异常代码:
    Traceback (most recent call last):
      File "D:/Python/7.py", line 5, in <module>
        if number[each_num] == number[sub_num]:
    IndexError: list index out of range

上面代码报数组越界异常,作用去除列表中重复内容
思路是由由A 开始 挨个检测 发现一样的删除重复内容
并将用作循环的列表删除尾部!!!
各位大佬帮我看看,谢谢了!!!
最佳答案
2017-4-7 11:21:28
  1. >>> number = [1,2,3,4,5,6,3,5,4,8]
  2. >>> [n for i,n in enumerate(number) if n not in number[:i]]
  3. [1, 2, 3, 4, 5, 6, 8]
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-4-7 09:48:59 | 显示全部楼层
刚试了下用while 循环就没事 怎麼用 列表删除控制就出问题了
number = [1,2,3,4,5,6,3,5,4,8]
i = 0
j = 0
while i < len(number):
    j = i + 1
    while j < len(number):
        if number[i] == number[j]:
            number.pop(j)
        j += 1
    i += 1
print(number)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-7 10:55:37 | 显示全部楼层
  1. >>> number = [1,2,3,4,5,6,3,5,4,8]
  2. >>> for i in reversed(range(len(number))):
  3.         if number.count(number[i])>1:
  4.                 number.pop(i)

  5.                
  6. 4
  7. 5
  8. 3
  9. >>> number
  10. [1, 2, 3, 4, 5, 6, 8]
复制代码

从后向前删除元素即可
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-7 11:21:28 | 显示全部楼层    本楼为最佳答案   
  1. >>> number = [1,2,3,4,5,6,3,5,4,8]
  2. >>> [n for i,n in enumerate(number) if n not in number[:i]]
  3. [1, 2, 3, 4, 5, 6, 8]
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-7 11:26:39 | 显示全部楼层
SixPy 发表于 2017-4-7 10:55
从后向前删除元素即可

谢谢了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-18 08:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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