列表
列表(list)是一种有序的集合,可以随时添加和删除其中的元素, 列表中元素的数据类型可以不一致。
1.列表的定义:[ ]
stus = ['zhangsan', 'lisi', 'wangwu'] stu = ['lisi', 18, 'f', 99.5] print(stus, type(stus)) print(stu)
输出结果:
['zhangsan', 'lisi', 'wangwu'] <class 'list'>
['lisi', 18, 'f', 99.5]
2.列表长度:列表中元素的个数。
len(列表名)
stus = ['zhangsan', 'lisi', 'wangwu'] print(len(stus))
输出结果:3
3.列表中元素的访问:下标法
print(stus[1])
注意:下标的大小:0~len(列表名)-1,
最后一个元素的访问:使用-1作为下标。
stus = ['zhangsan', 'lisi', 'wangwu'] print(stus[1])
输出结果:lisi
列表中的元素也可以是列表
arr = [[1,2], [3, 4], [5, 6]] print(len(arr)) print(arr[2][1])
输出结果:
3
6
4.列表的切片
#返回从起始位置到索引位置 2 处的列表切片
s = [1,2,3,4,5,6,7,8,9] print(s[:3])
输出结果:[1, 2, 3]
# 返回从第三个索引位置到结尾的列表切片
s = [1,2,3,4,5,6,7,8,9] print(s[3:])
输出结果:[4, 5, 6, 7, 8, 9]
# 列表逆序输出
s = [1,2,3,4,5,6,7,8,9] print(s[::-1])
输出结果:[9, 8, 7, 6, 5, 4, 3, 2, 1]
# 输出从开始位置间隔一个元素组成的列表
s = [1,2,3,4,5,6,7,8,9] print(s[::2])
输出结果:[1, 3, 5, 7, 9]
# 从索引位置 6 到索引位置 2,逆向间隔一个元素组成的列表
s = [1,2,3,4,5,6,7,8,9] print(s[6:2:-2])
输出结果:[7, 5]
5.列表函数&方法
Python包含以下函数:
| 序号 | 函数 |
|---|---|
| 1 | len(list) 列表元素个数 |
| 2 | max(list) 返回列表元素最大值 |
| 3 | min(list) 返回列表元素最小值 |
| 4 | list(seq) 将元组转换为列表 |
s = [1,2,3,4,5,6,7,8,9] print(len(s))
输出结果:9
s = [1,2,3,4,5,6,7,8,9] print(max(s))
输出结果:9
s = [1,2,3,4,5,6,7,8,9] print(min(s))
输出结果:1
s = (1,2,3,4,5,6,7,8,9) print(list(s))
输出结果:[1, 2, 3, 4, 5, 6, 7, 8, 9]
Python包含以下方法:
| 序号 | 方法 |
|---|---|
| 1 | list.append(obj) 在列表末尾添加新的对象 |
| 2 | list.count(obj) 统计某个元素在列表中出现的次数 |
| 3 | list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) |
| 4 | list.index(obj) 从列表中找出某个值第一个匹配项的索引位置 |
| 5 | list.insert(index, obj) 将对象插入列表指定位置 |
| 6 | list.pop([index=-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 |
| 7 | list.remove(obj) 移除列表中某个值的第一个匹配项 |
| 8 | list.reverse() 反向列表中元素 |
| 9 | list.sort( key=None, reverse=False) 对原列表进行排序 |
| 10 | list.clear() 清空列表 |
| 11 | list.copy() 复制列表 |
list = [1,2,3,4,5,6,7,8,9] list.append(0) print(list)
输出结果:[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
list = [1,2,3,4,1,2,5,9] print(list.count(2))
输出结果:2
list = [1,2,3,4] list1 = [0,5,6,7,8] list.extend(list1) print(list)
输出结果:[1, 2, 3, 4, 0, 5, 6, 7, 8]
list = [1,2,3,4,2,5,2] print(list.index(2))
输出结果:1
list = [1,2,3,4,2,5,2] list.insert(2,0) print(list)
输出结果:[1, 2, 0, 3, 4, 2, 5, 2]
list = [1,2,3,4,2,5,2] list.pop(4) print(list)
输出结果:[1, 2, 3, 4, 5, 2]
list.pop() 删除最后一个元素,等价于 list.pop(-1)
list = [1,2,3,4,2,5,2]
list.pop()
print(list)
输出结果:[1, 2, 3, 4, 2, 5]
list = [1,2,3,4,2,5,2] list.remove(2) print(list)
输出结果:[1, 3, 4, 2, 5, 2]
删除指定元素
list = [1,2,3,4,2,5,2]
del list[2]
print(list)
输出结果:[1, 2, 4, 2, 5, 2]
list = [1,2,3,4,2,5,2] list.reverse() print(list)
输出结果:[2, 5, 2, 4, 3, 2, 1]
- key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
- reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。
list = [1,2,3,4,2,5,2] list.sort() print(list)
输出结果:[1, 2, 2, 2, 3, 4, 5]
list = [1,2,3,4,2,5,2] list.clear() print(list)
输出结果:[]
list = [1,2,3,4,2,5,2] list1 = list.copy() print(list1)
输出结果:[1, 2, 3, 4, 2, 5, 2]
#判断某个元素是否在列表中: 使用 in 运算符
stu = ['zhangsan', 'lisi'] print('lisi' in stu)
6.列表生成式
列表生成式是Python内置的非常简单却强大的可以用来创建list的生成式。
举个例子,要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]可以用range(1, 11)。
list = [] for x in range(1, 11): list.append(x)
使用列表生成式:
list = [x for x in range(1, 11)]
如果需要生成1,100以内的所有的偶数该如何操作?
list = [x for x in range(1, 11) if x % 2 ==0]
操作字典
d = {'x': 'A', 'y': 'B', 'z': 'C' }
list = [k + '=' + v for k, v in d.iteritems()]
把一个list中所有的字符串变成小写:
L = ['Hello', 'World', 'IBM', 'Apple'] list = [s.lower() for s in L]
双重循环生成二维数组:
arr = [ [0 for x in range(10)] for j in range(10)] arr = [ [random.randint(1,10) for x in range(10)] for j in range(10)]

浙公网安备 33010602011771号