基础篇9-python基本数据结构-列表
一.列表:
1.有序的集合
2.通过偏移来索引,从而读取数据
3.支持内嵌
a =[[1,2,3],[4,5,6]]
4.可变类型
a[0][1] = 7
二.切片
a = [1,2,3,4,5,6,7]
a[0:3:1]
0 索引开始
3 索引结束
1 间隔(默认1)
正向索引 它是从左往右索引
假如要取出1234
a[0:4:1]
反向索引 它是从右往左索引
a[-1:-4:-1]
默认索引
a[1::2]
三.添加操作
+ 生成一个新的列表
a = [1,2,3]
b = [4,5,6]
print a + b
Extend 接受参数并将该参数的每个元素都加到原有的列表中,原列表是修改列表而不是新建列表
a = [1,2,3]
b = [4,5,6]
id(a)
printa.extend(b)
id(a)
Append:添加任意对象到列表末端
a = [1,2,3]
printa.append(4)
printa.append([5,6,7])
Insert:插入任意对象到列表,可以控制的插入的位置
a = [1,2,3]
printa.insert(1,“ab”)
1代表要添加的位置
ab 代表要添加的内容
四.修改:
修改列表本身只需要直接赋值操作就行
A = [1,2,3]
A[0] = ‘haha’
五.成员关系
In not in 我们可以判断一个元素是否在列表里。
a = [1,2,3,4]
in 是
2 in a True
5 in aFalse
not in 不是
2 not ina False
5 not ina True
六.列表推导式:(列表解析)
range(1,20,2)
1 开始
20 结束
2 间隔
[expr foriter_var in iterable]
1.首先迭代iterable里面所有内容,每一次迭代,都把iterable里相应的内容放到iter_var中,在表达式中应用该iter_var的内容,最后比如我们要生成一个包含1到10的列表
[x for x inrange(1,11)]
[expr foriter_var in iterable if cond_expr]
2.加入了判断语句,只有满足条件的内容才把itrerable里相应内容放到iter_var中,再在表达式中应用该iter_var的内容,最后用表达要生成包含1到10所有奇数的列表
[x for x inrange(1,11) if x %2 == 1]
七.排序翻转:sort,reverse
a = [33,11,22,44]
这个方式直接修改原列表,它的返回值为none,所以
b = a.sort()
print b 输出的内容是None
print a
if b isNone:
print “None!”
else
print “No None!”
list的reverse函数:反转一个list,他的返回值为none比如上面的列表a
b = a.reverse()
print b 输出内容是none
直接查看a列表变量能看到翻转的效果