1.元组是可以用“ () ”表示的,而列表是用“ [] ”表示的
>>> array=(1,2,3,4)
>>> array[1]
2
2.元组>>> array[1]=3
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment的内容不能更改
3.元组的多种定义方式,后面的" , "是关键
>>> tuple=1,2,3
>>> type(tuple)
<class 'tuple'>
>>> tuple=(1,2,3)
>>> type(tuple)
<class 'tuple'>
>>> tuple=(1,)
>>> type(tuple)
<class 'tuple'>
4.如上如果要定义一个只有一个元素的元组,后面要紧跟一个",",否则会认为是一个INT型的数据,如下:
>>> tuple=(1)
>>> type(tuple)
<class 'int'>
5.元组的重复操作符" * "
>>> tuple=8*(8,)
>>> tuple
(8, 8, 8, 8, 8, 8, 8, 8)
6.元组的插入与删除
>>> temp
(1, 2, 3, 4, 5)
>>> temp = temp[:2]+(3,)+temp[2:]
>>> temp
(1, 2, 3, 3, 4, 5)
7.有关列表的知识总结
列表:
1 有序的集合
2 通过偏移来索引,从而读取数据
3 支持嵌套
4 可变的类型
1 切片:
a = [1,2,3,4,5,6,7]
正向索引
反向索引
默认索引
>>> a=[1,2,3,4,5,6,7,8]
>>> a[0:8:2] //最后一个2是指的步长
[1, 3, 5, 7]
>>>
2添加操作:
- 生成一个新的列表
Extend 接受参数并将该参数的每个元素都添加到原有的列表中,原地修改列表而不是新建列表
Append :添加任意对象到列表的末端
Insert: 插入任意对象到列表中,可以控制插入位置。
3 修改:
修改列表本身只需要直接赋值操作就行。
A = [1,2,3]
A[0]=’haha’
4 删除操作:
Del :我们通过索引删除指定位置的元素。
Remove:移除列表中指定值的第一个匹配值。如果没找到的话,会抛异常。
Pop:返回最后一个元素,并从list中删除它。
5 成员关系:
In not in我们可以判断一个元素是否在列表里。
返回一个bool类型,元素在列表里返回true,否则返回fasle.
6 列表推导式:
[expr for iter_var in iterable]
1首先迭代iterable里所有内容,每一次迭代,都把iterable里相应内容放到iter_var中,再在表达式中应用该iter_var的内容,最后用表达式的计算值生成一个列表。
比如我们要生成一个包含1到10的列表
[x for x in range(1,11)]
Range(1,11)
[expr for iter_var in iterable if cond_expr]
2加入了判断语句,只有满足条件的内容才把iterable里相应内容放到iter_var中,再在表达式中应用该iter_var的内容,最后用表达式的计算值生成一个列表。
要生成包含1到10的所有奇数列表。
range(1,11,2)
[x for x in range(1,11) if x % 2 == 1]
7 排序翻转:sort,reverse
a = [33,11,22,44]
这个方式直接修改原列表。他的返回值为none,所以
b = a.sort()
print b 输出的内容是None
我们直接输出a列表变量
list的reverse函数:反转一个list, 他的返回值为none
比如上面的列表a
b = a. reverse()
print b 输出的内容是None
直接看a列表变量能看到翻转的效果。