获取python的list中含有重复值的index方法

获取Python的list中含有重复值的index方法通常可以通过以下两种方式实现:

1.使用循环遍历

可以使用循环遍历的方式,逐个判断list中的元素是否重复,如果重复,则将该元素的index加入到一个新的列表中。具体代码如下:

lst = [1, 2, 3, 4, 5, 2, 6, 7, 8, 2]
duplicates = []
for i in range(len(lst)):
    if lst[i] in lst[i+1:]:
        duplicates.append(i)
print(duplicates)

上述代码中,我们先创建了一个包含重复元素的list(lst),并创建了一个空列表(duplicates)来存放重复元素的index。然后,我们使用for循环遍历整个list,对于每个元素,我们检查是否存在于该元素之后的list中,如果存在,则将该元素的index添加到新列表中。最终,我们输出了包含重复元素的index的新列表。

2.使用numpy库

另一种更简单的方式是使用numpy库的unique函数。unique函数可以返回去重后的元素,以及其在原数组中的下标。具体代码如下:

import numpy as np

lst = [1, 2, 3, 4, 5, 2, 6, 7, 8, 2]
_, idx = np.unique(lst, return_index=True)
duplicates = np.setdiff1d(np.arange(len(lst)), idx)
print(duplicates)

上述代码中,我们先导入了numpy库,并创建了一个包含重复元素的list(lst)。然后,我们使用unique函数对list进行去重,并返回去重后的元素(使用下划线接收,表示我们不需要该返回值)以及元素在原数组中的下标(通过设置return_index参数位True实现)。最后,我们使用setdiff1d函数得到原数组中重复元素的index。值得注意的是,setdiff1d函数用于计算两个数组之间的差集,这里我们使用np.arange(len(lst))生成了一个等差数列,用于表示原数组中所有元素的index。最终,我们输出了包含重复元素的index的新列表。

总之,以上两种方式都可以实现获取list中含有重复值的index方法,其中第二种方式使用了numpy库提供的辅助函数,省去了手动循环的过程,更加简洁高效。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:获取python的list中含有重复值的index方法 - Python技术站

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

相关文章

  • 如何在python中找到离线串最近的点?

    【问题标题】:How to find closest point to a linestring in python?如何在python中找到离线串最近的点? 【发布时间】:2023-04-05 14:04:02 【问题描述】: 我有 2 个数据框,第一个有线串,第二个有很多点。我想找到最接近线串的点。我尝试了一些东西,但我想它不起作用。我该怎么做? 这是我…

    Python开发 2023年4月5日
    00
  • 在Python中处理字符串之isdecimal()方法的使用

    在Python中处理字符串之isdecimal()方法的使用 简介 Python中字符串对象内置了isdecimal()方法,该方法用于判断字符串是否只包含十进制数字字符。如果字符串只包含十进制数字,则返回True,否则返回False。 语法 isdecimal()方法的语法如下: str.isdecimal() 其中,str表示需要检查是否只包含十进制数字…

    python 2023年6月3日
    00
  • 使用python验证代理ip是否可用的实现方法

    使用Python验证代理IP是否可用的实现方法可以通过发送请求测试代理服务器是否正常工作,以下是一些攻略步骤: Step 1: 了解代理IP的概念和作用 代理服务器作为用户和互联网上的服务器之间的中间层,用于在用户和真正的服务器之间进行转发和过滤,从而实现隐藏用户真正IP地址的效果。因此,代理IP在网络爬虫以及其他类似应用的开发中,可以用于隐藏用户的真实身份…

    python 2023年6月6日
    00
  • Python基础入门之seed()方法的使用

    Python基础入门之seed()方法的使用 在Python中,random模块可以用来生成随机数。seed()方法是random模块中的一个函数,通过传入一个种子值,它可以确定随机数生成器的初始状态,从而使得随机数的序列在不同的计算机上表现一致,这在一些场合下有着重要的作用。 seed()方法的使用 在使用seed()方法之前,需要导入random模块: …

    python 2023年6月3日
    00
  • Django2.1.7 查询数据返回json格式的实现

    下面是详细讲解“Django2.1.7查询数据返回json格式的实现”的完整攻略。 前提条件 在实现查询数据返回 json 格式的过程中,你需要先掌握以下技术: Django 2.1.7 开发框架 数据库查询语句和操作,如 SQL、Django ORM 等 Python 语言基础,如变量、函数、列表、字典等 实现过程 定义视图函数 首先要完成的是视图函数的编…

    python 2023年5月13日
    00
  • Python如何爬取51cto数据并存入MySQL

    在本攻略中,我们将介绍如何使用Python爬取51CTO数据并存入MySQL。我们将使用requests、BeautifulSoup和pymysql库来实现这个功能。 安装requests、BeautifulSoup和pymysql 在使用requests、BeautifulSoup和pymysql之前,需要安装它们。以下是安装这些库的命令: pip ins…

    python 2023年5月15日
    00
  • Python使用combinations实现排列组合的方法

    下面是关于“Python使用combinations实现排列组合的方法”的攻略说明: 概述 Python中可以使用combinations()函数来快速实现排列组合。combinations()函数是Python内置的一个模块itertools中的函数,通过它可以快速生成给定序列中长度为n的所有排列组合。 语法 combinations(iterable, …

    python 2023年6月3日
    00
  • Python pandas tz_localize 抛出 NonExistentTimeError,然后无法丢弃错误时间

    【问题标题】:Python pandas tz_localize throws NonExistentTimeError, then unable to drop erroneous timesPython pandas tz_localize 抛出 NonExistentTimeError,然后无法丢弃错误时间 【发布时间】:2023-04-02 12:1…

    Python开发 2023年4月8日
    00
合作推广
合作推广
分享本页
返回顶部