学习python入门基础——数据类型(列表和元组)
一、列表(list)
1.特点
1)索引从0开始
2)list是有序的
3)可变的
4)元素可以重复
5)同一个list支持任意的数据类型
2.增(创建)
list_1=[1,2,3,4]
3.查
1)通过索引获取元素 ——list_1[index]
list_1=[1,2,3,4,5]
print(list_1[0]) #获取索引0位的元素 打印出索引0位置的元素是1
2)获取元素的索引值 ——list_1.index(value)
list_1=[1,2,3,4,5]
print(list_1.index(list_1[0])) #打印出索引0
3)统计元素出现的次数——list_1.count('val')
list_1=[1,2,3,4,5,1,3,1,1,1]
print(list_1.count(1)) #打印出列表元素1的出现的次数是5
4)获取列表长度——len(list_1)
list_1=[1,2,3,4,5]
print(len(list_1)) #打印出列表长度5
5)切片:list[开始索引:结束索引:步长]
跟字符串切片一样
list切片和字符串切片的区别:字符串是单个数字/字母为单位,list是元素为单位
list_1=[1,2,3,4,5,1,3,1,1,1]
print(list_1[0:3]) #打印出从索引0到索引3的列表[1, 2, 3]
print(list_1[-1:-3:-1]) #打印出从索引-1到索引-3的列表[1, 1]
str_1=hello python
print(str_1[::-1]) #打印出nohtyp olleh
list_1=[hello, python]
print(list_1[::-1]) #打印出['python', 'hello']
4.改
1)修改原列表元素:list_1[index]=value
list_1=[1,2,3,4,5,'dsf']
list_1[0]='test'
print(list_1) 打印出list_1=['test',2,3,4,5,'dsf']
2)追加到最后一位:append
list_1.append(需要插入的元素)
list_1=[1,2,3,4,5,'dsf']
list_1.append('test') 打印出list_1=[1,2,3,4,5,'dsf','test']
3)插入:insert
list_1.insert(index,需要插入的元素)
list_1=[1,2,3,4,5,'dsf']
list_1.insert(1,'test') 打印出list_1=[1,'test',2,3,4,5,'dsf']
4)合并:extend list_1.extend(list_2)
list_1=[1,2,3,4,5,'dsf']
list_2=['a','b']
list_1.extend(list_2) 将list_2里的所有元素追到到list_1中,list_2不变 打印出list_1=[1,2,3,4,5,'dsf','a','b']
5)合并:+
list_1=[1,2,3,4,5,'dsf']
list_2=['a','b']
print(list_1+list_2) 打印出第三中list_3=[1,2,3,4,5,'dsf','a','b'] list_1和list_2的值不变
5.删
1)按索引删除:list_1.pop(index)
index=None:删除最后一个元素
index=索引值:删除对应索引的元素
正确删除了返回被删除的元素
list_1=[1,2,3,4,5,'dsf']
print(list_1.pop()) #删除最后一个元素,返回被删除的元素dsf
print(list_1.pop(0)) #删除索引为0的元素,返回被删除的元素1
2)按索引删除:del list_1[index]
按索引删除,没有返回值
list_1=[1,2,3,4,5,'dsf']
del list_1[1]
print(list_1) #删除索引为1的值,打印list_1=[1, 3, 4, 5, 'dsf']
3)按元素删除:list_1.remove(value)
删除value值,当同一个value值有多个时,只删除第一个
正确删除了返回None
list_1=[1,2,2,3,4,5,'dsf']
print(list_1.remove(2)) #成功删除返回None
print(list_1) #打印出list_1=[1,2,3,4,5,'dsf']
4)清空:list_1.clear()
正确删除了返回None
list_1=[1,2,3,4,5,'dsf']
print(list_1.clear()) #成功删除,返回None
print(list_1) #list_1为空列表[]
6.成员运算
1)in 返回布尔值True/False
2)not in 返回布尔值True/False
list_1=[1,2,3,4,5]
print(1 in list_1) #返回布尔值True
print(1 not in list_1) #返回布尔值False
7.排序
1)通过ASCII码值来获取对应字符:chr()
print(chr(97))
2)通过字符,来获取ASCII码值:ord()
print(ord('a'))
3)正序排序:sort
不会生成新的列表,在原有的列表基础上排序
可以对字符串、数值进行排序
#升序排序
list_1=[55,4,33,14,5]
list_1.sort()
print(list_1)
4)倒序排序:sort(reverse=True)
不会生成新的列表,在原有的列表基础上排序
可以对字符串、数值进行排序
#倒序排序
list_2=[55,4,33,14,5]
list_2.sort(reverse=True)
print(list_2)
5)正序排序:sorted()
生成新的list表排序
list_2=[55,4,33,14,5]
list_3=sorted(list_2)
print(list_3)
6)倒序排序:sorted(reverse=True)
生成新的list表排序
#不改变原有list的情况下排序
list_2=[55,4,33,14,5]
list_3=sorted(list_2,reverse=True)
print(list_3)
7)反序(首尾倒过来):reverse()
在原有的list上反序,改变原有的list
list_2=[55,4,33,14,5]
list_2.reverse()
print(list_2)
8)反序(首尾倒过来):reversed()
生成新的list表排序,需要强制转换
list_2=[55,4,33,14,5]
list_3=reversed(list_2)
print(list(list_3))
8.内置函数
1)最大:max
list_2=[55,4,33,14,5]
print(max(list_2))
2)最小:min
list_2=[55,4,33,14,5]
print(min(list_2))
3)求和:sum
list_2=[55,4,33,14,5]
print(sum(list_2))
4)list长度:len
list_2=[55,4,33,14,5]
print(len(list_2))
5)输出:input
str_01=input()
res=input('请输出值:')
二、元组(tuple)
1.特性
1)元素不可修改
2)元素内容可以重复
3)如果元组里面只有一个元素,必须加个逗号,否则类型就不是元组了(1,)
tuple_1=(1)
print(tuple_1,type(tuple_1))
tuple_1=(1,)
print(tuple_1,type(tuple_1))
2.创建
tuple_1=(1,2,3)
3.切片:通过索引(同list)
tuple_1=(1,2,3)
print(tuple_1[0])
print(tuple_1[0:1])
print(tuple_1[:-3:-1])
4.合并:+
不会改变原本元组
tuple_1=(1,2,3)
tuple_2=(4,5,6)
print(tuple_1+tuple_2)
5.元组分类
1)不可变元组
本身不可以修改
2)可变元组
元素包含了可变类型,实际是修改了元素可变类型
tuple_1=(1,2,3,4,['a','b'])
tuple_1[-1].append('c')
print(tuple_1) 打印出tuple_1=(1,2,3,4,['a','b','c'])
list_1=[32,55,6,7,'gd','gergdsfg']
list_3=list_1[1:4]
list_3.append('3425')
print(list_3) 打印出list_3=[55, 6, 7, '3425']
6.常用方法
1)max()
2)min()
3)len()
4)去重:set()——去重返回的是集合,需要进行类型强制转换
tuple_3=(1,1,2,3,2,3)
res1=set(tuple_3)
print(list(res1))
print(tuple(res1))
7.排序,生成新的元组排序,原本的元组不变
1)正序
sorted(tuple_1)
tuple_1=(55,4,33,14,5)
tuple_2=sorted(tuple_1)
print(tuple_2)
2)倒序
sorted(tuple_1,reverse=True)
tuple_1=(55,4,33,14,5)
tuple_2=sorted(tuple_1,reverse=True)
print(tuple_2)
3)反转
reversed(tuple_1) 需要tuple()强制转换
tuple_1=(55,4,33,14,5)
tuple_2=reversed(tuple_1)
print(tuple(tuple_2))
8.ASCII码值
1)通过ASCII码值来获取对应字符:chr()
print(chr(97))
2)通过字符,来获取ASCII码值:ord()
print(ord('a'))
9.成员运算
1)in 返回布尔值True/False
2)not in 返回布尔值True/False
tuple_1=(1,2,3,4,5)
print(1 in tuple_1) #返回布尔值True
print(1 not in tuple_1) #返回布尔值False