4.4.1 介绍
List(列表):写在方括号[]之间、用逗号分隔开
4.4.2 基本操作
list = ['abcd', 786, 2.23, 'runoob', 70.2]
tinylist = [123, 'runoob']
print(list) ##输出完整列表
print(list[0]) ##输出列表第一个元素
print(list[1:3]) ## 从第二个开始输出到第三个元素
print(list[2:]) ## 输出从第三个元素开始的所有元素
print(tinylist * 2) ##输出两次列表
print(list + tinylist) ## 连接列表
list[1]=1;print(list) ## 更新列表
del[list[1]];print(list) ##删除
>['abcd', 786, 2.23, 'runoob', 70.2]
>abcd
>[786, 2.23]
>[2.23, 'runoob', 70.2]
>[123, 'runoob', 123, 'runoob']
>['abcd', 786, 2.23, 'runoob', 70.2, 123, 'runoob']
>['abcd', 1, 2.23, 'runoob', 70.2]
>['abcd', 2.23, 'runoob', 70.2]
4.4.3 方法
序号 | 方法 | 描述 |
---|---|---|
1 | len(list) | 列表元素个数 |
2 | max(list) | 返回列表元素最大值 |
3 | min(list) | 返回列表元素最小值 |
4 | list(seq) | 将元组转换为列表 |
5 | list.append(obj) | 在列表末尾添加新的对象 |
6 | list.count(obj) | 统计某个元素在列表中出现的次数 |
7 | list.extend(seq) | 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) |
8 | list.index(obj) | 从列表中找出某个值第一个匹配项的索引位置 |
9 | list.insert(index, obj) | 将对象插入列表 |
10 | list.pop(obj=list[-1]) | 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 |
11 | list.remove(obj) | 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 |
12 | list.reverse() | 反向列表中元素 |
13 | list.sort([func]) | 对原列表进行排序 |
14 | list.clear() | 清空列表 |
15 | list.copy() | 复制列表 |
sort()函数,用于列表中元素的排序
list1 = [1,3,5,7,9,8,6,4,2];list1.sort();print(list1)
list2 =['asd','qwqe','rtyrty','werwer'];list2.sort();print(list2)
>[1, 2, 3, 4, 5, 6, 7, 8, 9]
>['asd', 'qwqe', 'rtyrty', 'werwer']
脚本操作符
Python 表达式 结果 描述
len([1, 2, 3]) 3 长度
[1, 2, 3] + [4, 5, 6] [1, 2, 3, 4, 5, 6] 组合
['Hi!'] * 4 ['Hi!', 'Hi!', 'Hi!', 'Hi!'] 重复
3 in [1, 2, 3] True 元素是否存在于列表中
for x in [1, 2, 3]: print(x, end=" ") 1 2 3 迭代
截取与拼接
Python 表达式 结果 描述
L[2] 'Taobao' 读取第三个元素
L[-2] 'Runoob' 从右侧开始读取倒数第二个元素: count from the right
L[1:] ['Runoob', 'Taobao'] 输出从第二个元素开始后的所有元素
4.4.4 列表用法
列表打印
list = [['name','zhang'],['age','18'],['sex','男']]
for k,v in list:
print(k + ':'+ v)
>name:zhang
age:18
sex:男
## 快速生成列表
a = [i for i in range(1000) if i%100 == 0]
print(a)
b = [i for i in range(1000) if i%100 == 0]
print(b)
c = [m+n for m in a for n in b if m+n<1000]
print(c)
>[0, 100, 200, 300, 400, 500, 600, 700, 800, 900]
>[0, 100, 200, 300, 400, 500, 600, 700, 800, 900]
>[0, 100, 200, 300, ......900, 900]
4.4.5 数字排序
##从小到大排序
def paixu(l):
t =0
num =1
for m in range(len(l)-1):
for n in range(len(l)-1-m):
num +=1
if l[n] > l[n+1]:
l[n],l[n+1]=l[n+1],l[n]
print(l,num)
paixu([123,45,6789,24,1])
>[2, 3, 45, 47, 76, 78, 123] 22