Python获取list中指定元素的索引
在平时开发过程中,经常遇到需要在数据中获取特定的元素的信息,如到达目的地最近的车站,橱窗里面最贵的物品等等。怎么办?看下面
方法一: 利用数组自身的特性 list.index(target), 其中a是你的目标list,target是你需要的下标对应的值
1 li = [10,8,9,26,72,6,28]
2 print(li.index(8))
但是,如果a中有多个8呢?
我们发现,这种方法仅仅能获取都第一个匹配的value的下标(可以试试o_o)
所以,我们看看我们的第二种方案:
方法二: 利用enumerate函数。废话少说,看例子
1 >>> li = [10,8,9,26,72,6,28]
2 >>> print enumerate(li)
3 <enumerate object at 0x0000000002B9A990>
原来enumerate的输出类型是enumerate object对象,所以,我们可以如下
1 >>> li
2 [10, 8, 9, 26, 72, 6, 28]
3 >>> print(list(enumerate(li)))
4 [(0, 10), (1, 8), (2, 9), (3, 26), (4, 72), (5, 6), (6, 28)]
5 >>> print([i for i,j in enumerate(li) if j == 8])
6 [1]
再看,如果a中有多个‘8’呢?
1 >>> li.append(8)
2 >>> li.append(8)
3 >>> li
4 [10, 8, 9, 26, 72, 6, 28, 8, 8]
5 >>> print(li.index(8))
6 1
7 >>> print(list(enumerate(li)))
8 [(0, 10), (1, 8), (2, 9), (3, 26), (4, 72), (5, 6), (6, 28), (7, 8), (8, 8)]
9 >>> print([i for i,j in enumerate(li) if j == 8])
10 [1, 7, 8]
可见,list的index()方法是在list中找到第一个匹配的值。
而enumerate是将list(当然,也包含其它类型)中的元素元组化,然后我们利用循环方法获取相应的匹配的结果。所以方案二对于重复的数值能够一个不漏的get出来。
Python获取list中指定元素的索引的更多相关文章
- 【381】python 获取列表中重复元素的索引值
参考:获取python的list中含有重复值的index方法_python_脚本之家 核心思想:建立字典,遍历列表,把列表中每个元素和其索引添加到字典里面 cc = [1, 2, 3, 2, 4] f ...
- c#获取数组中指定元素的索引
//获取元素的索引 ArrayList arrList = new ArrayList(); ; i < array.Length; i++) { ) { arrList.Add(i); } } ...
- python之enumerate函数:获取列表中每个元素的索引和值
源码举例: def enumerate_fn(): ''' enumerate函数:获取每个元素的索引和值 :return:打印每个元素的索引和值 ''' list = ['] for index, ...
- python返回列表中指定内容的索引
import numpy as npa=[2,10,2,3,4,10,10]ans = np.where(np.array(a)==10)print(ans) 结果是:(array([1, 5, 6] ...
- js中获取URL中指定的查询字符串
js中获取URL中指定的搜索字符串,主要利用location对象实现,废话少说,上代码. function getSearchString(key) { // 获取URL中?之后的字符 var str ...
- [JavaScript] 获取数组中相同元素的个数
/** * 获取数组中相同元素的个数 * @param val 相同的元素 * @param arr 传入数组 */ function getSameNum(val,arr){ processArr ...
- 用JavaScript,获取Table中指定的行、列
前言: 先要谢谢George Wing的慷慨赠书<悟透JavaScript>,让我更加感受到了技术交流的重要性,呵呵~ 进入正题,面试题中有一题:如何通过JavaScript获取Table ...
- python去除列表中重复元素的方法
列表中元素位置的索引用的是L.index 本文实例讲述了Python去除列表中重复元素的方法.分享给大家供大家参考.具体如下: 比较容易记忆的是用内置的set 1 2 3 l1 = ['b','c', ...
- 使用JS,获取URL中指定参数的值
/** * 获取URL中指定参数的值 * * @param name 参数名称 * @returns */ function getQueryString(name) { var reg = new ...
随机推荐
- AlexeyAB DarkNet YOLOv3框架解析与应用实践(一)
AlexeyAB DarkNet YOLOv3框架解析与应用实践(一) Darknet: C语言中的开源神经网络 Darknet是一个用C和CUDA编写的开源神经网络框架.它速度快,易于安装,支持C ...
- 【译】.NET 5 中的诊断改进
基于我们在 .NET Core 3.0 中引入的诊断改进,我们一直在努力进一步改进这个领域.我很高兴介绍下一波诊断改进. 诊断工具不再需要 .NET SDK 直到最近,.NET 诊断工具套件还只能作为 ...
- Xshell6会话管理器无意中关闭,在哪里打开
一.进入查看 二.勾选则弹出,然后双击窗口即可
- win10下abd环境配置
一.下载安装 Android SDK 下载地址: http://tools.android-studio.org/index.php/sdk 下载完成后进行解压至D盘根目录下,也可以自定义英文路径下 ...
- NEXTCLOUD 常见错误
HTTP请求头"Strict-Transport-Security"没有配置为至少"15552000"秒出于增强安全性考虑推荐按照安全提示中的说明启用HSTS ...
- 关于使用JS去除URL中的指定参数问题,js 对url进行某个参数的删除,并返回url
在网页上找了半天,发现现在的资源实在是少的可怜,而前端尤甚.所以没办法,于是自己花了一些时间写了一个: 1 /** 2 * 删除URL中的指定参数 3 * @param {*} url 4 * @pa ...
- SpringBoot 结合 Spring Cache 操作 Redis 实现数据缓存
系统环境: Redis 版本:5.0.7 SpringBoot 版本:2.2.2.RELEASE 参考地址: Redus 官方网址:https://redis.io/ 博文示例项目 Github 地址 ...
- JavaScript中基本数据类型和引用数据类型的区别(栈——堆)
JavaScript中基本数据类型和引用数据类型的区别 1.基本数据类型和引用数据类型 ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型. 基本数据类型指的是简单的数据段,引用数据 ...
- 【题解】Luogu p2964 BZOJ 2017[Usaco2009 Nov]硬币游戏
题目描述 Farmer John's cows like to play coin games so FJ has invented with a new two-player coin game c ...
- 常见DDoS攻击
导航: 这里将一个案例事项按照流程进行了整合,这样观察起来比较清晰.部分资料来自于Cloudflare 1.DDoS介绍 2.常用DDoS攻击 3.DDoS防护方式以及产品 4.Cloudflare ...