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