list和tuple
查看数据类型的方法:
help(类型):输出该类型的所有方法,及其详细的解释。
dir(类型): 将类型的所有方法以列表的形式输出。
list:列表[]
list是python内置的一种列表。list是一种有序的集合,可以随时添加删除修改其中的元素。
例如用list存储班级同学的姓名:
>>>classname=["xiaoming","Michael","jeck"]
>>>classname
["xiaoming","Michael","jeck"]
变量classname就是一个list,可以用len()来获得list中有多少个元素。
>>>len(classname)
3
用索引来访问list中的每一个位置的元素,索引是从0开始:
>>>classname[0]
"xiaoming"
>>>classname[1]
"Michael"
>>>classname[3]
超出范围会报错:
IndexError:list index out of range
除了用正数索引外,还可以用负数索引。
list[-1]:表示最后一个元素
list[-2]:表示倒数第二个元素
插入
list是一个可变的序列表,所以可以往list中追加元素。
list.append:追加到尾部.
>>>a = [1,2,3]
>>>a.append(4)
>>>a
[1,2,3,4]
list.insert(index,element):追加到指定位置。
>>>a=[1,2,3,4,6]
>>>a.insert(4,5) #4是列表中的位置6的位置,在他前面插入5
>>>a
[1,2,3,4,5,6]
删除
list.pop():删除list末尾的元素。
>>>a=[1,2,3,4,5]
>>>a.pop()
>>>a
[1,2,3,4]
list.pop(index):删除指定位置的元素:
>>>a=[1,2,3,4,5]
>>>a.pop(0)
>>>a
[2,3,4,5]
除此之外还有list.rmove(element):删除指定的元素,如果有重复的则删除左边最近的。
>>>a = [1,2,3,4,5,1]
>>>a.rmove(1)
>>>a
[2,3,4,5,1]
del list[index] :删除指定位置的元素。
替换
如果想要替换list中的某个元素。可以直接赋值:
>>>a =[1,2,3,4,5]
>>>a[4]=6
>>>a
[1,2,3,4,6]
查找
list.index(element) :返回index值。
list.count(element) : 返回重复元素的个数
清空和扩展
list.clear():清空列表中元素。
del list :删除整个列表。
a=[1,2,3]
b=[4,5,6]
a.exted(b) :将b中的元素加到a中。b中元素不变。
a=[1,2,3,4,5,6]
b=[4,5,6]
反转,排序
a=[1,2,3,4]
a.reverse() :反转
a=[4,3,2,1]
a=["a","c","b","d"]
a.sort() :排序
a=["a","b","c","d"]
如果列表中既存在数字又存在字符,在python3中会报错,所以数字需要用引号转化成字符。
排列是按ASCII码排列,依然是数字在前。
深拷贝和浅拷贝
浅拷贝:
a=[1,2,3,4]
b=a
a=[1,2,3,4]
b=[1,2,3,4]
a.pop() #删除最后一个元素
a=[1,2,3]
b=[1,2,3] #b中的元素也会跟着改变
深拷贝:
copy()
a=[1,2,3,["a","b","c"]]
b=a.copy()
b=[1,2,3,["a","b","c"]]
a.remove(1)
a=[2,3,["a","b","c"]]
b=[1,2,3,["a","b","c"]
a[2][0]="A"
a=[2,3,["A","b","c"]]
b=[1,2,3,["A","b","c"]]
copy.deepcopy()
a=[1,2,3,4,["a","b"],5]
b=copy.deepcopy(a)
b=[1,2,3,4["a","b"],5]
a.pop() #删除最后一个元素
a=[1,2,3,4,["a","b"]]
b=[1,2,3,4,["a","b"]]
a[4][1]="A"
a=[1,2,3,4,["A","b"]]
b=[1,2,3,4,["a","b"]]
tuple:元组()
另一种有序的列表叫元组,tuple和list非常相似,但是tuple一但初始化就不能再更改,比如:
>>>a = (1,2,3,4,5)
现在a就是一个tuple,他不能改变,所以没有insert和append等方法。获取元素的方法和list一样。
如果要定义一个空的tuple可以写成:
>>>tuple=()
>>>tuple
()
如果要定一个只有一个元素的tuple,可以:
>>>tuple=(1,)
>>>tuple
(1,)
如果不加, 而只写(1),这里就会把括号当成运算来看。运算结果为1.
>>>a=(1)
>>>a
1
tuple的方法:count和index