列表
1.基本形式
极其包容
lst=[5.4,'hello',2]
lis=[0]*26由26个零组生成的列表
2. 基本性质
支持
索引 []
切片 [:]
拼接 +
重复 *
成员 in
长度 len()函数
循环 for
3.与字符串的不同点
使用[]生成,元素之间用逗号分隔
可以包含多种类型的对象,而字符串只能是字符
内容是可变的,字符串是不可变的
4.列表函数
网址
初始化可以是空列表
5.内建函数
sum,max,min······
6.列表赋值
b=a相当于指针操作,动b牵连a
b=a[:],则不影响
7.列表做函数参数
在原有划分给lis的内存地址上直接修改
def vivi(lst)
lst[:]=[1,2,3]
lst=[4,5,6]
在调用函数的时候重新开辟了一个新的内存地址
但如果在函数里调用append函数,也是会有影响的
该函数相当于对原内存地址直接操作
def vivi(lst)
lst=[1,2,3]
8.查找
9 二分查找
def bi_search(lst,v):
low=0
up=len(lst)-1
while low<=up:
mid=(low+up)/2
if lst[mid]<v:
low=mid+1
elif lst[mid]==v
return mid
else:
up=mid-1
return -1
10排序
内建排序函数
1.sorted()函数
a=[5,2,1,3,4]
sorted(a)
2.list.sort()方法
a=[5,2,1,3,4]
a.sort()升序
a.sort(reverse=True) 降序
按照某个关键字排序见下
选择排序*2
冒泡排序
11嵌套列表(二维)
从第0行0列开算
x=[[5,4,7,3],[4,8,9,7],[5,1,2,3]]
x[2][1]
len(x) 获取行数
len(x[0]) 获取列数
12列表解析或推导
key的使用:按照key所对应的函数的排序方式
reverse的使用:按照从大到小排序
lambda函数的使用
定义匿名函数
eg:
元组
-
元组即是不可变的列表
除了可改变列表内容的方法外,其他方法均使用与元组
即append,extend,del等不可用
但索引(in),切片([:]),len(),print()等均可用 -
使用“,可以加(),也可以不加”来创建元组
my_tuple=1,'a',3.14,True
my_tuple=(1,'a',3.14,True)
- 元组赋值
a,b=b,a
- 切分一个邮件地址
name,domain ='shfau@.edu.cn'.split('@')
- 值得注意的是,函数只能有一个返回值,该值可以是一个元组(即返回一系列的值)