一、列表
列表是最常用的Python数据类型
1.它可以作为一个方括号内的逗号分隔值出现。
2.列表的数据项不需要具有相同的类型
3.创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。
基础操作
创建列表
list1 = ['a','b','1','2','1','1']#创建列表
list2 = []#创建空列表
添加元素(可以是列表,元组,字典,集合,字符串等)
1.append()在列表中的最后位置添加元素
2.insert()可以在任意位置插入新元素,原来数据依次往后移动一个位置
name = ["4","3","2","1"]
name.append("5")
print(name)
name = ["4","3","2","1"]
name.insert(1,"6")#1表示元素插入列表的位置,"6"为所要插入的元素
print(name)
#输出结果
["4","3","2","1","5"]
["4","6","3","2","1"]
统计元素
用count()函数统计列表中元素重复的次数
用用len()函数统计列表中所有的元素的个数
print(list1,count(1))
print(len(list1))
#输出结果
3
6
删除
1.pop(n) :将列表中第n项元素取出,并从列表中删除该元素。若果省略n,则默认删除列表最后(末尾)一个元素,并返回该元素。
list = [1,2,"a","y",[1,2,3],"b"]
print(list.pop(0)) #取出下标为0的元素,并从列表ls中删除。
print(list.pop(3))
print(list.pop()) #默认取出列表ls最后一个元素,并删除。
print(list) #列表中的 1, [1,2,3] , "b" 元素已被删除。
#输出结果
1
[1, 2, 3]
b
[2, 'a', 'y']
2.clear():清除列表所有的元素
list=['1','2']
list.clear()
print(list)
#输出结果
[]
3.del 对列表的元素或部分片段进行删除
list1 = [1,2,3,4,"a",[1,2,3],5,6]
list2 = [1,2,3,4,"a",[1,2,3],5,6]
list3 = [1,2,3,4,"a",[1,2,3],5,6]
del list1[0] #删除列表list1中下标为0的元素
print(list1)
del list1[2:] #删除列表list1中 起始下标为2,到结尾的元素
print(list1)
del list2[2:6] #删除列表list2中 起始下标为2,终止下标为6 之间的元素。
print(list2)
del list3[1:6:2] #起始位置为2,终止位置为6,步长为2
print(list3)
#输出结果
[2, 3, 4, 'a', [1, 2, 3], 5, 6]
[2, 3]
[1, 2, 5, 6]
[1, 3, 'a', 5, 6]
4.remove()函数,移除列表中某个值的第一个匹配项。
>>> list=['a','a','b','c']
>>> list.remove('a')
>>> print(list)
['a', 'b', 'c']
深浅拷贝(即可用于序列,也可用于字典)
1.通过切片的方式,只是将最外层的数据进行的拷贝,把它称为浅拷贝,修改内层则原列表和新列表都会变化。
2、深拷贝是指将原列表完全克隆一份新的,使用copy.deepcopy()方法来拷贝列表,修改嵌套列表中的元素,原列表不受影响。
二、元组
元组与列表的区别:
1.元组的元素不能修改,列表的元素可以修改
2.元组使用小括号,列表使用方括号。
基本操作
1.创建元组
注:元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用
>>> tup1 = ('Google', 'Runoob', 1997, 2000);
>>> tup2 = (1, 2, 3, 4, 5 );
>>> tup3 = "a", "b", "c", "d"; # 不需要括号也可以
>>> tup4 = ()#空元组
>>> tup1 = (50)
>>> type(tup1) # 不加逗号,类型为整型
<class 'int'>
>>> tup1=('50')
>>> type(tup1)
<class 'str'>
>>> tup1 = (50,)
>>> type(tup1) # 加上逗号,类型为元组
<class 'tuple'>
2.访问元组
>>> tup1=(1,2,3,4)
>>> print("tup1[2]:",tup1[2])
tup1[2]: 3
>>> print('tup1[0:2]:',tup1[0:2])
tup1[0:2]: (1, 2)
3.元组运算符
与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。
>>> a=(1,2,30)
>>> b=(9,8,7)
>>> c=a+b
>>> print(c)
(1, 2, 30, 9, 8, 7)
>>> print(a*3)
(1, 2, 30, 1, 2, 30, 1, 2, 30)
>>> if 30 in (1,2,30):
... print('Yes')
...
Yes
4.内置函数:
len(tuple):计算元组元素个数
max(tuple):返回元组中元素最大值
min(tuple):返回元组中元素最小值
5.元组,字符串,列表间的转换
>>> a=(1,2,3)
>>> b=list(a)#元组转列表
>>> print(b)
[1, 2, 3]
>>> c=str(a)#元组转字符串
>>> print(c)
(1, 2, 3)
>>> type(c)
<class 'str'>
>>> a1='hello'
>>> b1=a1.split(',')#字符串转列表
>>> d=list(a1)#字符串转列表
>>> c1=tuple(a1)#字符串转元组
>>> print(b1)
['hello']
>>> print(d)
['h', 'e', 'l', 'l', 'o']
>>> print(c1)
('h', 'e', 'l', 'l', 'o')
>>> a2=['1','2','3']
>>> b2=tuple(a2)#列表转元组
>>> c2=str(a2)#列表转字符串
>>> print(b2)
('1', '2', '3')
>>> print(c2)
['1', '2', '3']
作业
定义一个列表,包含自己的家庭成员,并在指定位置插入给定元素,例如你的男女朋友名称等。再将男女朋友名字移除等操作。
member=['father','mother','brother','sister','me']
member.insert(0,'grandmother')
print(member)
print(member.pop(1))
print(member.pop())
print(member)
del member[2:]
print(member)
member.clear()
print(member)
输出结果
['grandmother', 'father', 'mother', 'brother', 'sister', 'me']
father
me
['grandmother', 'mother', 'brother', 'sister']
['grandmother', 'mother']
[]