python取list的个别元素_python获取list特定元素下标的实例讲
解
python 获取list特定元素下标的实例讲解
在平时开发过程中,经常遇到需要在数据中获取特定的元素的信息,如到达⽬的地最近的车站,橱窗⾥⾯最贵的物品等等。怎么办?看下⾯
⽅法⼀:利⽤数组⾃⾝的特性 a.index(target), 其中a是你的⽬标list,target是你需要的下标对应的值
a=[72, 56, 76, 84, 80, 88]
print(a.index(76))
output:
2
但是,如果a中有多个76呢?
我们发现,这种⽅法仅仅能获取都第⼀个匹配的value的下标(可以试试o_o)
所以,我们看看我们的第⼆种⽅案:
⽅法⼆: 利⽤enumerate函数。python新手代码例子
废话少说,看例⼦
哎哟,原来enumerate的输出类型是tuple!tuple!tuple! 所以,我们可以如下
再看,如果a中有多个‘76'呢?
可见,list的index()⽅法是在list中到第⼀个匹配的值。
⽽enumerate是将list(当然,也包含其它类型)中的元素元组化,然后我们利⽤循环⽅法获取相应的匹配的结果。所以⽅案⼆对于重复的数值能够⼀个不漏的get出来。
以上这篇python 获取list特定元素下标的实例讲解就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持我们。
时间: 2018-04-08
当在python中遍历⼀个序列时,我们通常采⽤如下的⽅法: for item in sequence: process(item) 如果要
取到某个item的位置,可以这样写: for index in range(len(sequence)): process(sequence[index]) 另⼀个⽐较好的⽅式是使⽤python内建的enumerate函数: enumerate(sequence,start=0) 上述函数中,sequence是⼀个可迭代的对象,可以是列表,字典,⽂件对象等等.
实例如下所⽰: # -*- coding: utf-8 -*- import numpy as np import pandas as pd from pandas import * from numpy import * data = DataFrame(np.arange(16).reshape(4,4),index = list("ABCD"),columns=list('wxyz')) print data print data[0:2] #取前两⾏数据 print'+++++
前⾔ 在python中, 切⽚是⼀个经常会使⽤到的语法, 不管是元组, 列表还是字符串, ⼀般语法就是: sequence[ilow:ihigh:step] # ihigh,step 可为空; 为了简短易懂, 暂时排除step的⽤法考虑 先来简单⽰范下⽤法 sequence = [1,2,3,4,5] sequence [ilow:ihigh] # 从ilow开始到ihigh-1结束 sequence [ilow:] # 从ilow开始直到末尾 sequence [:ihigh] # 从头部开始
下标 所谓下标就是编号,就好⽐超市中存储柜的编号,通过这个编号就能到相应的存储空间. Python中字符串,列表,元祖均⽀持下标索引. 例如: # 如果想取出部分字符,可使⽤下标 name="abcd" print(name[0]) print(name[1]) print(name[2]) print(name[3]) # 输出结果为: # a # b # c # d 切⽚ 切⽚是指对操作的对象截取⼀部分的操作,字符串,列表,元组均⽀持切⽚操作. 切⽚的语法:[起始:结束:步长]
如下所⽰: #!/usr/bin/env python #_*_ coding:utf-8 _*_ name = ['hello', 'world', 'a', 'b', 'c', 1, 2, 3, 'hello', 'world', 'a', 'b', 'c', 1, 2, 3] first_pos = 0 for i in unt(2)): new_list = name[first_pos:] next_pos = new_list.index(2) + 1 pr
字符串索引⽰意图 字符串切⽚也就是截取字符串,取⼦串 Python中字符串切⽚⽅法 字符串[开始索引:结束索引:步长] 切取字符串为开始索引到结束索引-1内的字符串 步长不指定时步长为1 字符串[开始索引:结束索引] 练习样例 # 1.截取2 - 5位置的字符 num_str_1 =
num_str[2:6] print(num_str_1) # 2.截取2 - 末尾的字符 # 当开始索引和结束索引为开始和结束时可以省略不写 num_str_1 =
num_str[2:] print(num_s
Python的切⽚是特别常⽤的功能,主要⽤于对列表的元素取值.使⽤切⽚也会让你的代码显得特别Pythonic. 切⽚的主要声明如下,假设现在有⼀个list,命名为alist: alist = [0,1,2,3,4] 切⽚语法的基本形式为: alist[start:stop:step] 可以看出对于列表的切⽚操作有三个参数,分别为: start:起始位置 stop:终⽌位置 step:步长 三个参数都是可选参数,意义为list的下标,即index.step参数默认值为1.表现形式有以下⼏种: al
⼀:背景 1. 讲故事 昨天在 github 上准备 C# 9 ⼜有哪些新语法糖可以试⽤,不觉在⼀个⽂档上看到⼀个很奇怪的写法: foreach (var item in myArray[0..5]) 哈哈,熟悉⼜陌⽣,玩过python的朋友对这个 [0..5] 太熟悉不过了,居然在 C# 中也遇到了,开⼼哈,看了下是 C# 8 的新语法,讽刺讽刺,8 都没玩熟就搞 9 了,我的探索欲⽐较强,总想看看这玩意底层是由什么⽀撑的. ⼆:.. 语法糖的⽤法 从前⾯介绍的
myArray[0..5]
详解Python list 与 NumPy.ndarry 切⽚之间的区别 实例代码: # list 切⽚返回的是不原数据,对新数据的修改不会影响原数据 In [45]:
list1 = [1, 2, 3, 4, 5] In [46]: list2 = list1[:3] In [47]: list2 Out[47]: [1, 2, 3] In [49]: list2[1] = 1999 # 原数据没变 In [50]: list1 Out[50]: [1, 2, 3, 4, 5] In [51]
df是⼀个dataframe,列名为A B C D 具体值如下: A B C D 0 ss ⼩红 8 1 aa ⼩明 d 4 f f 6 ak ⼩紫 7 dataframe⾥的属性是不定的,空值默认为NA. ⼀.选取标签为A和C的列,并且选完类型还是dataframe df = df.loc[:, ['A', 'C']] df = df.iloc[:, [0, 2]] ⼆.选取标签为C并且只取前两⾏,选完类型还是dataframe df = df.loc[0:2, ['A', 'C']] df
众所周知,我们可以通过索引值(或称下标)来查序列类型(如字符串.列表.元组...)中的单个元素,那么,如果要获取⼀个索引区间的元素该怎么办呢? 切⽚(slice)就是⼀种截取索引⽚段的技术,借助切⽚技术,我们可以⼗分灵活地处理序列类型的对象.通常来说,切⽚的作⽤就是截取序列对象,然⽽,它还有⼀些使⽤误区与⾼级⽤法,都值得我们注意.所以,本⽂将主要跟⼤家⼀起来探讨这些内容,希望你能学有所获. 事先声明,切⽚并⾮列表的专属操作,但因为列表最具有代表性,所以,本⽂仅以列表为例作探讨. 1.切⽚的基础
这篇⽂章我们学习 Python 变量与数据类型 变量 变量来源于数学,是计算机语⾔中能储存计算结果或能表⽰值抽象概念,变量可以通过变量名访问.在 Python 中 变量命名规定,必须是⼤⼩写英⽂,数字和 下划线(_)的组合,并且不能⽤数字开头. 变量命名规则: 变量名只能是字母,数字和下划线的任意组合 变量名第⼀个字符不能是数字 变量名区分⼤⼩写,⼤⼩写字母被认为是两个不同的字符 特殊关键字不能命名为变量名声明变量 Python 中的变量不需要声明,每个变量在使⽤前都必须赋值,变量赋值以后该变
详解 Python中LEGB和闭包及装饰器 LEGB L>E>G?B L:local函数内部作⽤域 E:enclosing函数内部与内嵌函数之间 G:global全局作⽤域B:build-in内置作⽤域 python 闭包 1.Closure:内部函数中对enclosing作⽤域变量的引⽤ 2.函数实质与属性 函数是⼀个对象 函数执⾏完成后内部变量回收 函数属性 函数返回值 passline = 60 def func(val): if val >= passline: print (
前⾔ 编写函数或者类时,还可以为其编写测试.通过测试,可确定代码⾯对各种输⼊都能够按要求的那样⼯作. 本次我将介绍如何使⽤Python模块unittest中的⼯具来测试代码. 测试函数 ⾸先我们先编写⼀个简单的函数,它接受姓.名.和中间名三个参数,并返回完整的姓名: names.py def get_fullname(firstname,lastname,middel=''): '''创建全名''' if middel: full_name = firstname + ' ' + middel
概述 在列表复制这个问题,看似简单的复制却有着许多的学问,尤其是对新⼿来说,理所当然的事情却并不如意,⽐如列表的赋值.复制.浅拷贝.深拷贝等绕⼝的名词到底有什么区别和作⽤呢? 列表赋值 # 定义⼀个新列表 l1 = [1, 2, 3, 4, 5] # 对l2赋值 l2 = l1 print(l1) l2[0] = 100 print(l1) ⽰例结果: [1, 2, 3, 4, 5] [100, 2, 3, 4, 5] 可以看到,更改赋值后的L2后L1同样也会被更改,看似简单的"复制"
闭包是Python装饰器的基础.要理解闭包,先要了解Python中的变量作⽤域规则. 变量作⽤域规则 ⾸先,在函数中是能访问全局变量的: >>> a = 'global var' >>> def foo(): print(a) >>> foo() global var 然后,在⼀个嵌套函数中,内层函数能够访问在外层函数中定义的局部变量: >>> def foo(): a = 'free var' def bar(): print(a)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论