||||
列表的创建
>>> 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函数:
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-6-16 05:53
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社