python 列表输出重复值以及对应的角标方法

yizhihongxing

一、方法一:使用for循环及if语句

Python列表自带的count()方法可以便捷地计算列表中元素出现的次数,我们可以使用for循环遍历列表中所有的元素,对于每个元素,使用count()方法计算该元素在列表中出现的次数。如果出现次数大于1,就表明该元素是重复的,使用index()方法输出该元素在列表中的角标。

示例代码:

lst = [1, 2, 3, 1, 4, 2, 5, 3, 6, 1]
repeat_lst = []   # 用于存储重复值
for i in lst:
    if lst.count(i) > 1 and i not in repeat_lst:
        repeat_lst.append(i)
        print("元素值为{},对应的角标为{}。".format(i, [index for index, value in enumerate(lst) if value == i]))

输出结果:

元素值为1,对应的角标为[0, 3, 9]。
元素值为2,对应的角标为[1, 5]。
元素值为3,对应的角标为[2, 7]。

二、方法二:使用set去重

我们可以将列表转换为集合,使用set()方法去重,得到所有不重复的元素,然后使用列表推导式遍历不重复元素的列表,再使用enumerate()方法获取该元素在原列表中的角标。

示例代码:

lst = [1, 2, 3, 1, 4, 2, 5, 3, 6, 1]
unique_set = set(lst)   # 转换为集合,去重
repeat_lst = []   # 用于存储重复值
for i in unique_set:
    if lst.count(i) > 1:
        repeat_lst.append(i)
        print("元素值为{},对应的角标为{}。".format(i, [index for index, value in enumerate(lst) if value == i]))

输出结果:

元素值为1,对应的角标为[0, 3, 9]。
元素值为2,对应的角标为[1, 5]。
元素值为3,对应的角标为[2, 7]。

以上两种方法都可以实现Python列表输出重复值以及对应的角标。第一种方法使用for循环及if语句,比较适合初学者。第二种方法使用了set()方法去重,代码简洁明了,但是需要额外占用空间存储集合。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 列表输出重复值以及对应的角标方法 - Python技术站

(0)
上一篇 2023年6月5日
下一篇 2023年6月5日

相关文章

  • Python中使用wxPython开发的一个简易笔记本程序实例

    下面是“Python中使用wxPython开发的一个简易笔记本程序实例”的完整攻略。 简介 wxPython 是一个基于 wxWidgets 二次开发的 Python 图形界面开发库,拥有丰富的组件、优秀的跨平台性、优秀的文档和强大的社区支持,能够快速构建界面友好、功能强大的交互式应用程序。 本文将介绍如何使用 wxPython 开发一个简易笔记本程序,实现…

    python 2023年5月31日
    00
  • Python玩转Excel的读写改实例

    Python玩转Excel的读写改实例 在这篇文章中,我们将通过Python演示如何读取、编写和修改Excel文件。Excel是广泛用于办公的数据处理软件,它具有灵活的表格和计算功能。Python的openpyxl库提供了操作Excel文件的简便方法。我们将在本文中讨论如何使用openpyxl库对Excel进行读取、编写和修改。 准备工作 在开始本文的演示之…

    python 2023年5月13日
    00
  • Python线程池thread pool创建使用及实例代码分享

    Python线程池thread pool创建使用及实例代码分享 Python线程池(thread pool)是一种提供线程复用的机制,通过线程池的管理,可以减少线程创建与销毁的代价,并提升异步并发执行的性能,同时避免资源的浪费,使用起来也相对方便和稳定。本篇攻略将详细介绍如何在Python中使用线程池,通过实例代码的分享帮助读者更好的掌握线程池的使用和工作原…

    python 2023年5月19日
    00
  • python 内置函数-range()+zip()+sorted()+map()+reduce()+filter()

    下面是对这些 Python 内置函数的详细讲解: range() 函数 range() 函数通常被用来生成一串数字,其参数可以指定生成数字的个数。 示例1:输出0到9这10个数字: nums = range(10) for num in nums: print(num) zip() 函数 zip() 函数可以将多个序列(列表、元组等)对应元素进行打包,返回一…

    python 2023年5月14日
    00
  • 分享一个提高运维效率的 Python 脚本

    哈喽大家好我是咸鱼,今天给大家分享一个能够提升运维效率的 python 脚本 咸鱼平常在工作当中通常会接触到下面类似的场景: 容灾切换的时候批量对机器上的配置文件内容进行修改替换 对机器批量替换某个文件中的字段 对于 Linux 机器,咸鱼可以写个 shell 脚本或者直接批量使用 sed 命令就能很好的解决 但对于 Windows 机器,上面的方法就不管用…

    python 2023年5月9日
    00
  • 已解决卸载pip重新安装的方法

    关于“已解决卸载pip重新安装的方法”的完整攻略,可以分为以下几个步骤: 卸载旧版本的pip 可以使用以下命令卸载旧版本的pip: python -m pip uninstall pip 如果你使用的是Linux或macOS操作系统,则需要在命令前加上sudo来获取管理员权限,如下所示: sudo python -m pip uninstall pip 下载…

    python 2023年5月14日
    00
  • Flask核心机制之上下文源码剖析

    Flask核心机制之上下文源码剖析 在Flask中,上下文是一个非常重要的概念。它允许我们在应用程序中共享数据,而不必将数据传递给每个函数或方法。本文将深入探讨Flask上下文的实现方式,并提供示例代码。 Flask上下文 在Flask中,有两种上下文:应用上下文和请求上下文。应用上下文是全局的,与应用程序相关,而请求上下文是与每个请求相关的。在应用程序处理…

    python 2023年5月15日
    00
  • Python验证的50个常见正则表达式

    Python验证的50个常见正则表达式 正则表达式是一种用于描述字符串模式的语言,可以用于匹配、查找、替换和割字符串。在Python中,模块提供了正表达式持方便进行字符串的处理。本文将详细解Python验证的50个常见正则表达式,包括正则表达语法、模块的常用函数以及示例说明。 正则表达式语法 正则表达式语法是一组特殊字符符号用于描述字符串模式。下面是一些常用…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部