三、List(列表)
(一)概述
List(列表) 是 Python 中使用最频繁的数据类型。
列表由一系列按顺序排列的元素组成。可以是任何数据元素,比如数字、字符、逻辑值,甚至嵌套的列表、元组、字典、集合等,其中的元素之间可以没有任何关系。
列表是写在方括号 [] 之间、用逗号分隔开的元素列表。
下列都属于一个列表:
[,,,]
[hello,python,sunday,mike,apple]
[斌牯佬,,.,[python,,true]]
[,{name:斌牯佬,age:},.]
和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
列表截取的语法格式如下:变量[头下标:尾下标]
索引值以 为开始值,- 为从末尾的开始位置。
加号 + 是列表连接运算符,星号 * 是重复操作。如下实例:
#!/usr/bin/python
list = [ abcd, ,.] # 列表用“=”直接赋值
tinylist = [,斌牯佬]
print (list) # 输出完整列表
print (list[]) # 输出列表第一个元素
print (list[:]) # 从第二个开始输出到第三个元素
print (list[:]) # 输出从第三个元素开始的所有元素
print (tinylist * ) # 输出两次列表
print (list + tinylist) # 连接列表
以上实例输出结果:
[abcd,,.]
abcd
[,.]
[.]
[,斌牯佬,,斌牯佬]
[abcd,,.,,斌牯佬]
与Python字符串不一样的是,列表中的元素是可以改变的:
>>> a = [, , , , , ]
>>> a[] =
>>> a[:] = [, ]
>>> a
[, , , ,, ]
>>> a[:] = [] # 将对应的元素值设置为 []
>>> a
[, , ]
总结:
List写在方括号之间,元素用逗号隔开。
和字符串一样,list可以被索引和切片。
List可以使用+操作符进行拼接。
List中的元素是可以改变的。
(二)列表的常用方法
.append()—向列表尾部追加一个元素
>>>a=[,,,,,]
>>> id(a) # 查看变量a的内存地址
>>>a.append() # 追加一个元素,放在列表的末尾
>>>a
[, , , , , , ]
.insert(index,x)---在列表的index 位置处插入一个元素x
>>>a.insert(,新元素)
[, 新元素, , , , , , ]
.extend(L)---追加一个列表中的所有元素到原来列表的末尾
>>>a.extend([,新元素])
[, 新元素, , , , , , , , 新元素]
.pop([index])—删除指定位置的元素并返回它的值,如果不指定index,则删除末尾的元素(序号为-的元素)
>>>a.pop()
新元素
>>>a
[,新元素,,,,,,,]
>>>a.pop()
新元素
>>>a
[, , , , , , , ]
.remove(x)---删除列表中第一个等于“x”的元素,其他元素前移一个位置。
>>>a.remove()
>>>a
[, , , , , , ]
.clear()---删除列表中所有元素
>>>a.clear()
>>>a
[]
.count(x)—返回统计指定元素x在列表中出现的的次数
.index(x)—返回指定元素x在列表中最早出现的索引位置
>>>a=[,,,,,,,,,]
>>>a.count()
# 元素“”出现了次
>>>a.count()
#没有元素“”,所以统计次数为
>>>a.index()
元素“”最早出现在列表中的索引序号是第位
.sort()方法和sorted()函数—前者按指定方法永久改写列表顺序,后者不改变原有列表顺序,只临时性重建新顺序列表。
.reverse()方法和reversed()函数—和上述两个原理相同,只是这两个是逆序重建列表。
>>>a.sort()
>>>a
[, , , , , , , , , ]
>>>reversed(a)
<list_reverseiterator object at xBEC>
>>>a
[, , , , , , , , , ]
>>>a.reverse()
>>>a
[, , , , , , , , , ]
.其他内置函数对列表的操作
max(x)、min(x)、len(x)---分别求列表中最大值、最小值、列表长度。
另外还有zip(),enumerate(),map(),reduce(),filter()等函数,详情另讲。