目录
列表的定义
- 列表是包含0个或多个元素组成的有序列表,属于序列类型。。
- 列表可以对元素进行增加、删除、替换、查找等操作。
- 列表没有长度的限制,元素类型可以不同,不需要预定义长度。
- 列表用“[]”表示,也可以通过list(x)函数将集合或字符串类型转换为列表类型。
>>> a="hello pythhon"
>>> type(a)
<class 'str'>
>>> list(a)
['h', 'e', 'l', 'l', 'o', ' ', 'p', 'y', 't', 'h', 'h', 'o', 'n']
>>> type(a)
<class 'str'>
>>> type(list(a))
<class 'list'>
>>> 列表的索引
- 索引用于获得列表的一个元素,使用中括号[]作为索引的操作符。
- 举例:
>>> lis=[1010,"1010",[1010,"10"],1010]
>>> type(lis)
<class 'list'>
>>> lis[2]
[1010, '10']
>>> lis[-3]
'1010'
>>> lis[-4]
1010
>>> lis[5]
Traceback (most recent call last):
File "<pyshell#12>", line 1, in <module>
lis[5]
IndexError: list index out of range
>>> - 使用遍历循环对列表元素进行遍历操作,
- 基本格式如下:for <循环变量> in <列表变量> :
- 举例:
>>> lis=[1010,"1010",[1010,"10"],1010]
>>> for i in lis:
print(i)
输出结果:
1010
1010
[1010, '10']
1010
>>> for i in lis:
print(i*2)
输出结果:
2020
10101010
[1010, '10', 1010, '10']
2020
>>>列表的切片
- 切片用于获得列表的一个片段,即获得一个或多个元素,切片的结果也是列表类型。
用法:<列表或列表变量>[n:m]或<列表或列表变量>[n:m:k]
此处的m不包含
>>> lis=[1010,"1010",[1010,"10"],1010]
>>> lis[1:3]
['1010', [1010, '10']]
>>> lis[-1:-3]
[]
>>> lis[-3:-1]
['1010', [1010, '10']]
【注】只能从小的数到大的数,即list[n:m]
中n必须小于m,否则返回[].
>>> lis[0:4:2]
[1010, [1010, '10']]
列表类型的操作
- 列表的操作函数
| 操作函数 | 描述 |
|---|---|
| len(ls) | 列表ls的元素个数(长度) |
| min(ls) | 列表ls中的最小元素 |
| max(ls) | 列表ls中的最大元素 |
| list(ls) | 将x转变成列表类型 |
>>> ls=[1010,0x1010,10.1]
>>> min(ls)
10.1
【注】只能比较相同数据类型的大小
>>> a=["a,","v","z"]【注】字符类型的
元素大小是按照字母表的顺序来比较的,
当字母相同时,
依次比较首次出现的不同字母顺序
>>> min (a)
'a,'
>>> max(a)
'z'
>>> a=[{"he"},{"hi"},{10,23,"python"}]
【注】对于集合类型的元素,第一个出现
集合元素始终是最大值也是最小值。
>>> min(a)
{'he'}
>>> max(a)
{'he'}
>>> a=[{"hi"},{"he"},{10,23,"python"}]
>>> min(a)
{'hi'}
>>> max(a)
{'hi'}
>>>
>>> ls
[1010, 4112, 10.1]
>>> lt=[1010,12.3,"python"]
>>> lz=ls+lt 【注】用+号连接时不用去掉
相同的元素
>>> lz
[1010, 4112, 10.1, 1010, 12.3, 'python']
>>> lt
[1010, 12.3, 'python']
>>>
>>> list("python")
['p', 'y', 't', 'h', 'o', 'n']
>>> list({"张三","1010","李四",1010})
['1010', '张三', 1010, '李四']
>>> list({"01":"张三","02":"李四"})
【注】字典型只保留键
['01', '02']
>>> list({01:"张三",02:"李四"})
SyntaxError: invalid token
>>> - 列表操作方法
语法:<列表变量>.<方法名称>(<方法参数>)
| 方法 | 描述 |
| ls.append(x) | 在列表ls最后增加一个元素x |
| ls.insert(i,x) | 在列表ls第i位置增加元素x |
| ls.clear() | 删除ls中所有元素 |
| ls.pop(i) | 将列表ls中第i项元素取出并删除该元素 |
| ls.remove(x) | 将列表中出现的第一个元素x删除 |
| ls.reverse() | 列表ls中元素反转 |
| ls.copy() | s生成一个新列表,复制ls中的所有元素 |
>>> ls=[1010,"1010",101,10.1,"python",101]
>>> ls
[1010, '1010', 101, 10.1, 'python', 101]
>>> ls.append("你好")
>>> ls
[1010, '1010', 101, 10.1, 'python', 101, '你好']
>>> ls.insert(3,2048)
>>> ls
[1010, '1010', 101, 2048, 10.1, 'python', 101, '你好']
>>> ls.pop(4)
10.1
>>> ls
[1010, '1010', 101, 2048, 'python', 101, '你好']
>>> ls.remove(101)
>>> ls
[1010, '1010', 2048, 'python', 101, '你好']
>>> ls.reverse()
>>> ls
['你好', 101, 'python', 2048, '1010', 1010]
>>> ls.copy()
['你好', 101, 'python', 2048, '1010', 1010]
>>> 真题解析:
例1:
>>> vlist=range(5)
>>> print(vlist)
range(0, 5)
>>> type(vlist)
<class 'range'>
>>> vlist=list(range(5))
>>> print(vlist)
[0, 1, 2, 3, 4]
>>> type(vlist)
<class 'list'>
例2:
>>> list2=[i*2 for i in "python"]
>>> print(list2)
['pp', 'yy', 'tt', 'hh', 'oo', 'nn']
>>>
例3:
>>> list3 = [(m,n) for m in 'AB' for n in 'CD']
>>> print(list3)
[('A', 'C'), ('A', 'D'), ('B', 'C'), ('B', 'D')]
>>>
版权声明:本文为m0_44993371原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。