haibaraxx的个人博客分享 http://blog.sciencenet.cn/u/haibaraxx

博文

Python:列表和列表方法

已有 3096 次阅读 2017-6-13 17:28 |个人分类:Python|系统分类:科研笔记| 列表, 列表方法

列表的创建

>>> aList = list('Yang')

>>> aList

['Y', 'a', 'n', 'g']

>>> bList = [1, 2, 3, 4]

# 创建空列表

>>> List0=[]


列表是一种可扩展的容器对象(可变的)

>>> aList[0] = 'Li'

>>> aList

['Li', 'a', 'n', 'g']


列表可包含不同类型的对象

>>> cList = [1, 2, 'a', 2.1]


列表的形式

List1 = [1, 2, 3, 4, 5]   # 元素全部为整数

List2 = ['长河', '落日', '孤烟']   # 元素全部为字符串

List3 = [1, ‘去’, 2.3, 'Li']   # 元素包含整数、浮点数、字符串

List4 = [('apple', '1.99', '10'),   # 元素由4个元组构成

            ('banana', '1.05', '2'),

            ('pear', '3.95', '5'),

            ('grape', '2.99', '8')]


列表的运算

标准运算符

序列专用的运算符


列表的切片操作 (即访问列表中的值)

>>> List4[1][2]

'2'


列表方法


#-------------------------------------------------------

列表元素查找 - index()

#-------------------------------------------------------

index() - 返回某个值在列表中第一次出现的正序索引位置,如果没有匹配项则出现异常。

List1.index(obj)

obj — 需要被检索的列表元素。强制参数。

#-------------------------------------------------------

列表元素出现次数统计 - count()

#-------------------------------------------------------

count() - 统计并返回列表中只定元素出现的次数。若只定元素不在列表中,则返回0。

List1.count(value)

value — 需要被检索的列表元素。强制参数。


#-------------------------------------------------------------------------

列表添加元素 - append(), extend(), insert()  对比: +

#-------------------------------------------------------------------------

append() - 在列表的尾部追加单个元素。无返回值,直接修改原列表。

List1.append(obj)

obj — 追加的对象,可以是任意数据类型,被追加的元素在列表中保持原结构类型。强制参数。

extend() - 将参数的每个元素都添加到原列表中。无返回值,直接修改原列表。

List1.extend(iterable)

iterable — 需要被追加的可迭代对象。强制参数。

insert() - 将一个元素插入到原列表中指定的索引位置之前,该索引位置成为被插入元素在新列表中的索引位置。无返回值,直接修改原列表。

List1.insert(index, obj)

index — 索引点。强制参数。

obj — 插入的对象。强制参数。

对比:

+ - 将多个列表相加,返回新列表,而原列表不变。

List1+List2


#-------------------------------------------------------------------------

列表删除元素 - remove(), pop()  对比: del语句

#-------------------------------------------------------------------------

remove() - 移除列表中第一次出现的指定元素。无返回值,直接修改原列表。

List1.remove(value)

value — 指定元素的值。强制参数。

pop() - 弹出并返回列表中指定索引位置的元素。修改原列表。

List1.pop(index=-1)

index — 被弹出值对应的索引,默认为-1(即弹出并返回末尾元素)。可选参数。

对比:

del语句 - 删除列表中指定索引位置的元素。无返回值,直接修改原列表。

del List1[index]

index — 被删除值对应的索引,若缺省,则del语句将删除整个列表。


#-----------------------------------------------------------------------------------------

列表排序与反转 - sort(), reverse()  对比: 內建sorted和reversed函数

#-----------------------------------------------------------------------------------------

sort() - 对列表元素进行排序(默认为升序),无返回值,直接修改原列表。

List1.sort(key=None, reverse=False)

key — 用来定制排列顺序的一个函数,默认值为None。可选参数。

reverse — 是否按照降序排列,默认为False,即按升序排列,若为True,则按降序排列。可选参数。

reverse() - 反转列表,无返回值,直接修改原列表。

List1.reverse()

对比:

sorted() - 对对象元素进行排序(默认为升序),返回一个新的列表,而不修改原对象。适用于任何可迭代对象(如列表,元组,字符串...)

sorted(iterable, /, *, key=None, reverse=False)

iterable — 可迭代对象。强制参数。

key — 用来定制排列顺序的一个函数(可以理解为:既要排序,就得有个比较的标准,key就是那个标准,可自定义,见下图后面的说明),默认值为None。可选参数。

reverse — 是否按照降序排列,默认为False,即按升序排列,若为True,则按降序排列。可选参数。

reversed() - 反转列表,返回一个reverse迭代器对象,而不修改原对象。适用于任何可迭代对象(如列表,元组,字符串...)

reversed(iterable)



关于这个key函数:





https://blog.sciencenet.cn/blog-3031432-1060572.html

上一篇:Python: py文件编码与中文处理
下一篇:Python: 列表解析和生成器表达式
收藏 IP: 95.90.225.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-24 02:43

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部