1. 创建列表
- 列表里可以存放任意类型的数据,每个数据之间,用逗号分隔
- 整个列表被包裹在一对中括号[]里,如果你定义lst = []
- []表示一个空列表
与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。
list1 = [‘physics’, ‘chemistry’, 1997, 2000]
2. 索引的概念
列表是数据的有序集合,对于列表里数据的操作,都必须通过索引来完成
lst = [2, 3, 5, 6]
下面这张图很好的阐述了索引的概念
所谓正序索引,就是从左向右看,倒序索引就是从右向坐看,由左至右,从0开始递增,从右向左,从-1开始递减,python既支持正序索引,也支持倒序索引
3、访问列表中的值
list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5, 6, 7 ]
print "list1[0]: ", list1[0] #取值
print "list2[1:5]: ", list2[1:5] #切片取值
#结果
list1[0]: physics
list2[1:5]: [2, 3, 4, 5]
#指定开始位置,不指定结束位置
lst = [3, 4, 1, 4, 2, 5, 8]
lst1 = lst[2:]
print(lst1)
#结果
[1, 4, 2, 5, 8]
4、字符串和列表互为转换
str="hello world hi"
lst=str.split(' ')
print(lst)
#结果
['hello', 'world', 'hi']
#将列表转为字符串
lst=['hello', 'world', 'hi']
str=' '.join(lst)
print(str)
#结果
hello world hi
5、向列表中新增数据
#append新增数据
list = [] ## 空列表
list.append('Google')
print(list)
#结果
['Google']
#name_list.insert(下标, 数据)
list=['a',1,'c','d',2,'e']
list.insert(2,'a1')
print(list)
#结果
['a', 1, 'a1', 'c', 'd', 2, 'e']
#追加数据 拆开序列追加到序列尾部
list=['TOM', 'Lily', 'ROSE', 'TOM', [11, 22]]
list.extend(['xiaoming', 'xiaohong'])
print(list)
#结果
['TOM', 'Lily', 'ROSE', 'TOM', [11, 22], 'xiaoming', 'xiaohong']
#修改列表的值
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
motorcycles[0] = 'ducati'
print(motorcycles)
#结果
['honda', 'yamaha', 'suzuki']
['ducati', 'yamaha', 'suzuki']
6、删除列表元素
#通过索引删除
list=['TOM', 'Lily', 'ROSE', 'TOM', [11, 22]]
del list(2)
print(list)
#结果
['TOM', 'Lily', 'TOM', [11, 22]]
#删除指定的对象
list=['TOM', 'Lily', 'ROSE', 'TOM', [11, 22]]
list.remove('TOM')
print(list)
#结果
['Lily', 'ROSE', 'TOM', [11, 22]]
7、遍历列表
**
#通过索引遍历
lst = [3, 5, 8, 1, 2, 6, 9]
for i in range(len(lst)):
print(lst[i])
#通过迭代器变了
lst = [3, 5, 8, 1, 2, 6, 9]
for item in lst:
print(item)
8、列表操作符
操作符 | 功能作用 |
---|---|
+ | 连接两个列表 |
* | 重复列表内容 |
in | 成员操作符,判断某个数据是否在列表中 |
not in | 成员操作符,判断某个数据是否在列表中 |
列表对 + 和 * 的操作符与字符串相似,现在,在交互式解释器里跟随我一起操作
>>> lst1 = [1, 2, 3]
>>> lst2 = [4, 5, 6]
>>> lst1 + lst2
[1, 2, 3, 4, 5, 6]
>>> lst1*3
[1, 2, 3, 1, 2, 3, 1, 2, 3]
>>> 3 in lst1
True
>>> 4 not in lst2
False
9、python嵌套列表
lst = [1, [1, 5], 3, [9, 8, [1, 3]], 5]
print(lst[3][2][0])
print(lst[1:4])
#结果
1
[[1, 5], 3, [9, 8, [1, 3]]]
10、sort() 排序:升序(默认) 和 降序
前提: 数据之间全部具有可比性,数据要统一类型**
list1 = [1, 3, 2, 5, 4, 6]
list1.sort(reverse=True)
print(list1)
#结果
[6, 5, 4, 3, 2, 1]
def cmp(x):
return int(x[:-4])
lst = ['1.jpg', '2.jpg', '3.jpg', '10.jpg', '20.jpg']
lst.sort(key=cmp, reverse=True)
print(lst)
#结果
['20.jpg', '10.jpg', '3.jpg', '2.jpg', '1.jpg']
11、python列表方法详解
下表是列表方法及功能说明
方法 | 功能 |
---|---|
count() | 统计某个元素在列表中出现的次数 |
append() | 在列表末尾添加新的对象 |
extend | 在列表末尾一次性追加另一个序列中的多个值 |
index | 返回一个元素在列表中第一次出现的位置索引 |
insert() | 将对象插入列表中的指定位置 |
pop() | 删除列表中指定索引的元素,默认删除最后一个并返回该值 |
remove() | 移除列表中某个值的第一个匹配项 |
reverse() | 翻转列表 |
sort() | 对列表进行排序 |