Python list常用方法(count、index、pop、reverse和sort)

DSP TMS320C6657中FFT函数的调用与具体使用方法 首先明确一点,C6678中FFT的函数形式为: N : length of FFT in complex samples ptr_x : pointer to complex data input ptr_w : pointer to complex twiddle factor ptr_y : pointer to complex output data brev : pointer to bit reverse table containing 64 entries n_min : should be 阅读详情

除前面章节介绍的增加元素、删除元素、修改元素方法之外,列表还包含了一些常用的方法。

例如,在交互式解释器中输入 dir(list) 即可看到列表包含的所有方法,如下所示:

>>> dir(list)
['append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
>>>

在上面输出结果中己经剔除了那些以双下画线开头的方法。按照约定,这些方法都具有特殊的意义,不希望被用户直接调用。

上面有些方法前面己经介绍过了,接下来给大家介绍另外的一些常用方法。

count()方法

此方法用于统计列表中某个元素出现的次数,其基本语法格式为:

listname.count(obj)

其中,listname 代表列表名,obj 表示判断是否存在的元素。

下面代码示范了 count() 方法的用法:

 
  1. a_list = [2, 30, 'a', [5, 30], 30]
  2. # 计算列表中30的出现次数
  3. print(a_list.count(30))
  4. # 计算列表中[5, 30]的出现次数
  5. print(a_list.count([5, 30]))

运行结果为:

2
1

index()用法

index() 方法用于定位某个元素在列表中出现的位置(也就是索引),如果该元素没有出现,则会引发 ValueError 错误。

此方法的基本语法格式为:

listname.index(obj,start,end)

同 count() 方法不同,index() 方法还可传入 start、end 参数,用于在列表的指定范围内搜索元素。

如下代码示范了 index() 方法的用法:

 
  1. a_list = [2, 30, 'a', 'b', 'crazyit', 30]
  2. # 定位元素30的出现位置
  3. print(a_list.index(30))
  4. # 从索引2处开始、定位元素30的出现位置
  5. print(a_list.index(30, 2))
  6. # 从索引2处到索引4处之间定位元素30的出现位置,因为找不到该元素,会引发 ValueError 错误
  7. print(a_list.index(30, 2, 4))

运行结果为:

1
5
Traceback (most recent call last):
  File "C:\Users\mengma\Desktop\1.py", line 7, in <module>
    print(a_list.index(30, 2, 4)) # ValueError
ValueError: 30 is not in list

pop()用法

pop() 方法会移除列表中指定索引处的元素,如果不指定,默认会移除列表中最后一个元素。该方法的基本语法格式为:

listname.pop(index)

例如:

 
  1. a_list=[1,2,3]
  2. #移除列表的元素 3
  3. print(a_list.pop())
  4. print(a_list)
  5. #移除列表中索引为 0 的元素1
  6. print(a_list.pop(0))
  7. print(a_list)

运行结果为:

3
[1, 2]
1
[2]


注意,使用 pop() 方法可以实现一种常见的数据结构——栈。栈是一种特殊的数据结构,它可实现先入后出(FILO)功能,即先加入栈的元素,反而后出栈。

在其他编程语言所实现的“栈”中,往往会提供一个 push() 方法,用于实现入栈操作,但 Python 的列表并没有提供 push() 方法,我们可以使用 append() 方法来代替 push() 方法实现入栈操作。

下面代码示范了使用列表作为“栈”的示例:

 
  1. stack = []
  2. # 向栈中“入栈”3个元素
  3. stack.append("fkit")
  4. stack.append("crazyit")
  5. stack.append("Charlie")
  6. print(stack) # ['fkit', 'crazyit', 'Charlie']
  7. # 第一次出栈:最后入栈的元素被移出栈
  8. print(stack.pop())
  9. print(stack) # ['fkit', 'crazyit']
  10. # 再次出栈
  11. print(stack.pop())
  12. print(stack) # ['fkit']

运行结果为:

['fkit', 'crazyit', 'Charlie']
Charlie
['fkit', 'crazyit']
crazyit
['fkit']

上面程序中,第 8 行实现了第一次出栈操作,该操作将会把最后一次添加的元素移出栈,且该方法会返回出栈的元素。因此,执行这行代码将会看到输出 Charlie。

与所有编程语言类似的是,出栈操作既会移出列表的最后一个元素,也会返回被移出的元素。

reverse()用法

reverse() 方法会将列表中所有元素反向存放。该方法的基本语法格式为:

listname.reverse()

例如:

 
  1. a_list = list(range(1, 8))
  2. # 将a_list列表元素反转
  3. a_list.reverse()
  4. print(a_list)

运行结果为:

[7, 6, 5, 4, 3, 2, 1]

从上面的运行结果可以看出,调用 reverse() 方法将反转列表中的所有元素。

sort()用法

sort() 方法用于对列表元素进行排序,排序后原列表中的元素顺序会方发生改变。sort() 方法的语法格式如下:

listname.sort(key=None, reserse=False)

可以看到,和其他方法不同,此方法中多了 2 个参数,它们的作用分别是:

  • key 参数用于指定从每个元素中提取一个用于比较的键。例如,使用此方法时设置 key=str.lower 表示在排序时不区分字母大小写。
  • reverse 参数用于设置是否需要反转排序,默认 False 表示从小到大排序;如果将该参数设为 True,将会改为从大到小排序。


例如如下代码:

 
  1. a_list = [3, 4, -2, -30, 14, 9.3, 3.4]
  2. # 对列表元素排序
  3. a_list.sort()
  4. print(a_list)
  5. b_list = ['Python', 'Swift', 'Ruby', 'Go', 'Kotlin', 'Erlang']
  6. # 对列表元素排序:默认按字符串包含的字符的编码大小比较
  7. b_list.sort()
  8. print(b_list) # ['Erlang', 'Go', 'Kotlin', 'Python', 'Ruby', 'Swift']

运行结果为:

[-30, -2, 3, 3.4, 4, 9.3, 14]
['Erlang', 'Go', 'Kotlin', 'Python', 'Ruby', 'Swift']


如下代码示范了 key 和 reverse 参数的用法:

 
  1. b_list = ['Python', 'Swift', 'Ruby', 'Go', 'Kotlin', 'Erlang']
  2. # 指定key为len,指定使用len函数对集合元素生成比较的键,也就是按字符串的长度比较大小
  3. b_list.sort(key=len)
  4. print(b_list)
  5. # 指定反向排序
  6. b_list.sort(key=len, reverse=True)
  7. print(b_list)

运行结果为:

['Go', 'Ruby', 'Swift', 'Python', 'Kotlin', 'Erlang']
['Python', 'Kotlin', 'Erlang', 'Swift', 'Ruby', 'Go']

上面两次排序时都将 key 参数指定为 len,这意味着程序将会使用 len() 函数对集合元素生成比较大小的键,即根据集合元素的字符串长度比较大小。

注意,采用 sort() 方法对列表进行排序时,对中文支持不好,其排序结果与常用的音序排序法或者笔画排序法都不一致,因此,如果需要实现对中文内容的列表排序,还需要重新编写相应的方法进行处理,而不能直接使用 sort() 方法。

除此之外,需要指出的是,在 Python 2.x 中,列表的 sort() 方法还可传入一个比较大小的函数,该函数负责比较列表元素的大小。该函数包含两个参数,当该函数返回正整数时,代表该函数的第一个参数大于第二个参数;当该函数返回负整数时,代表该函数的第一个参数小于第二个参数;返回 0,则意味着两个参数相等。

下面代码示范了使用比较函数调用 sort() 方法。以下代码只能在 Python 2.x 中执行:

纯文本复制
 
  1. # 以下代码只能在Python 2.x中执行
  2. # 定义一个根据长度比较大小的比较函数
  3. def len_cmp(x, y):
  4. # 下面代码比较大小的逻辑是:长度大的字符串就算更大
  5. return 1 if len(x) > len(y) else (-1 if len(x) < len(y) else 0)
  6. b_list = ['Python', 'Swift', 'Ruby', 'Go', 'Kotlin', 'Erlang']
  7. b_list.sort(len_cmp)
  8. print(b_list)

运行结果为:

['Go', 'Ruby', 'Swift', 'Erlang', 'Kotlin', 'Python']

MIPS-5级流水线CPU 一、流水线CPU 流水线CPU就是指将一条分解为多步,在同一周期内进行多条指令的同时执行。MIPS五级流水线就是将指令分为:取指(IF),译码(ID),执行(EX),访存(MEM),写回(WB)五个阶段。举个例子: 比如第二条指令lui $t2,0x2100 在流水线CPU中执行的就是 可以看到在200-300ns的周期里,IF阶段取到0x00400004处的指令,300-400ns,这条指令到了ID阶段,而IF阶段执行下一条指令。400-500ns,执行这条指令,ALU的结果为0x2100 阅读详情

相关推荐

【Unity】YooAsset与HybridCLR:高效资源管理与代码热更的黄金组合

本文深入探讨了Unity开发中YooAsset与HybridCLR的组合应用,为需要长期运营的项目提供了完整的资源与代码热更新解决方案。YooAsset作为高效的资源管理框架,简化了AssetBundle的打包、加载与热更流程;而HybridCLR则攻克了IL2CPP模式下C#代码无法热更的难题。两者结合,实现了从资源到逻辑的平滑在线更新,极大提升了开发迭代与线上维护的效率。

weixin_29006701的博客 254

Python列表常用方法四:count()index()函数

引言列表作为python常用的数据结构,内置方法的灵活使用显著提高了项目代码的编写效率。本文主要介绍count函数index函数的使用。

li1784506的博客 6278

从零开始跑通3DGS教程:()坐标系与尺度编辑(CloudCompare)

本文所属《从零开始跑通3DGS教程》系列文章; sfm重建的点云已经丢掉了尺度信息,并且坐标系跟图像数据有关(SFM初始化选择的图像),所以如果想恢复物理真实尺度,以及在想要的视角下渲染,那么需要对尺度坐标系进行编辑修正,下文介绍如何使用CloudCompare修改坐标系尺度

诺有缸的高飞鸟的博客 2842

Python list count方法:记录特定值在列表中的出现次数

Python list count方法介绍、使用示例、注意事项原理解释。

TCatTime的博客 1万+

python中列表(list)的方法

sorted()函数还接受一个key参数,该参数允许你指定一个函数,用于从每个元素中提取一个用于比较的键。# 使用 key 参数根据字符串长度排序print(sorted_by_length) # 输出: ['fig', 'apple', 'banana', 'cherry']

luckyforever5_22的博客 555

Python中的count()方法

Python中用于序列类型(如列表、元组、字符串等)的内置方法,用于统计某个元素在序列中出现的次数。是一个简单但实用的方法,特别适合需要快速统计元素出现次数的场景。对于包含复杂元素的序列(如列表的列表),

wsys_yysn的博客 2865

python list.count用法

count() 方法用于统计某个元素在列表中出现的次数。count()方法语法:list.count(obj)返回值是元素在列表中出现的次数。li = ["a", "mpilgrim", "foo", "b", "c", "b", "d", "d"] print([elem for elem in li if len(elem) &gt; 1

山鬼谣弋痕夕的博客 9851

Python list常用方法countindexpopreversesort)快速攻略

除前面章节介绍的增加元素、删除元素、修改元素方法之外,列表还包含了一些常用方法。 例如,在交互式解释器中输入 dir(list) 即可看到列表包含的所有方法,如下所示: >>> dir(list) ['append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 're...

Python零基础入门学习 1134

python list indexof_Python list常用方法countindexpopreversesort)快速攻略

除前面章节介绍的增加元素、删除元素、修改元素方法之外,列表还包含了一些常用方法。例如,在交互式解释器中输入 dir(list) 即可看到列表包含的所有方法,如下所示:>>> dir(list)['append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', ...

weixin_28955231的博客 826

index函数python列表_Python list常用方法countindexpopreversesort)快速攻略...

除前面章节介绍的增加元素、删除元素、修改元素方法之外,列表还包含了一些常用方法。例如,在交互式解释器中输入 dir(list) 即可看到列表包含的所有方法,如下所示:>>> dir(list)['append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', ...

weixin_36463088的博客 902

Python 列表(list)常用操作方法(slice、append、extend、countindex、insert、pop、remove、reversesort)

列表是包含0个或多个对象引用的有序序列,支持与字符串一样的分片与步距语法。下面看一下怎么创建一个list常用的一些方法。 原文地址:https://www.cjavapy.com/article/32/

亮亮的专栏 405

Pythonlist 使用

List有些类似于C++中的Vector,但是我感觉似乎更加的好用… 这里主要说说它的一些内置方法,要创建一个list只需要使用[]括起来,就可以表示一个list。中间的各个元素可以是任何的类型,只要使用逗号分割就可以了.在list中下标是以0开始一-1结束的,因此,这里有些不同于C++或者其他语言中的下标。比如: a = [0,1,2,3,4,5,6,7,8,9,10] a[0] == 0

lcj_cjfykx的专栏 620

python list常用方法

remove()remove() 用于删除列表中第一个匹配的指定值。如果值不存在,会抛出 异常。pop()pop() 删除并返回指定索引位置的元素。若未指定索引,默认删除并返回最后一个元素。索引越界会抛出 IndexError。clear()clear() 清空列表中的所有元素,使其变为空列表。index() 方法用于返回列表中第一个匹配项的索引位置。如果元素不存在会抛出 ValueError。count() 方法返回元素在列表中出现的次数。若元素不存在则返回 0。in 操作符。

li_yi_的博客 955

list函数返回的结果,list函数python的作用

假如,ls=[1,5,6,3,1,5],那么使用这个函数,查值为5的元素值在列表中的第一个位置。6.remove():删除某个元素,如果有重复的值,将删除第一次出现的元素,也就是下标小的那个。看到没,ls[3]的值为8了,在ls[4]之前添加了一个数,相当于就是一个插入。注:以上就是今天的内容了,有什么不好的希望大家见谅,一起加油!此时末尾元素下标为4,向列表内添加元素的话那么下标为5,1.append():向列表的尾部添加元素,ls=[1,2,3,4,5]8.clear():清除元素,不要轻易使用!

wangyanqin0227的博客 1589

Python list常用方法

除前面章节介绍的增加元素、删除元素、修改元素方法之外,列表还包含了一些常用方法。 例如,在交互式解释器中输入 dir(list) 即可看到列表包含的所有方法,如下所示: >>> dir(list) ['append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'rever...

yinlu521wang的博客 400

pythoncount() 用于 字符串 列表 list 用法详解

1 概述 pythoncount() 可用于 字符串 列表 list,大致的用法功能相似,**都用用于统计某个字符在其中出现的次数。**但还是有一些细微的差别,下面给出具体的详解。 两者最主要的区别在于:用于字符串可以指定查找的起始结束位置,但是用于列表时就不可以了 2 pythoncount() 用于 字符串 2.1 描述 Python count() 方法用于统计字符串里某...

我是张跑跑 5762

Python之排序函数sort(),sorted(),sort_values(),sort_index().

Python之排序函数—sort(),sorted(),sort_values(),sort_index().

weixin_56175042的博客 1万+

Python count()函数详解

count()Python的内置函数,可以「统计」字符串里指定「字符」或指定字符串出现的「次数」。 1、指定搜索位置 2、参数为负数 3、列表的count() 4、元祖的count() 5、其他数据类型的count() 6、布尔类型

wangyuxiang946的博客 3万+

计数器:.count()方法 Counter()函数

不可哈希的数据类型,即可变的数据结构。

m0_56655064的博客 986

python排序获得秩 (index)

python排序获得秩(index) 本文先讲述python中的排序函数,然后说明如何获得排序的index。 - python排序函数 - 排序获得秩index python排序函数 python常用的排序函数有sortsorted函数。 1.sort函数 是列表list的内置函数,对列表进行排序。需要注意的是它会改变当前列表对象。 函数原型: sort(fun,key...

u014035615的博客 1万+

基于Acconeer的A121-60GHz毫米波雷达传感器SDK移植及测距示例(STM32L496为例)

基于Acconeer的A121-60GHz毫米波雷达传感器SDK移植及测距示例(STM32L496为例)https://blog.csdn.net/weixin_53403301/article/details/134524023基于Acconeer的A121-60GHz毫米波雷达传感器SDK移植及测距示例(STM32L496为例)参考资料:A121 datasheet 1.3A121 HAL Software Integration User GuideA121 STM32CubeIDE User Guide官方参考示例工程:XM125_MDK-AC5_A121_v1_0_0(XM125相当于A121的最小系统板 硬件连接与裸机相同)该传感器与MCU连接只需要一组SPI一个中断GPIO、一个使能控制GPIO且SPI的CPOLCPHA都为0(空闲时低电平 且在第一个变化沿进行采样)与A121 STM32CubeIDE User Guide中介绍的基本相同但建议SPI的速度设置为10M以下 并且选择8位数据传输同时选中软件片选关闭NSSP

计算机考研408统考复习试卷真题合集

408真题

上一篇: git 创建版本库
下一篇: python 判断语句
NO23412号菜狗
博客等级 码龄12年 86粉丝 451原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值