3、Python进阶(高级数据类型)
-
序列就是一组按照顺序排列的值(数据集合) -
在Python中有三种内置的序列类型:
-
优点:可以支持索引和切片的操作
3.1 字符串及常用方法
3.1.1 切片
可以根据下标来获取序列对象的任意部分的数据
# 创建一个字符串
?test = 'hello,world'
?# 查看数据类型为字符串类型
?print(type(test))
??
?# 变量[开始:结束:步长]
??
?# 打印第三个字符到最后
?print(test[2:])
?# 打印从1-3
?print(test[0:3])
?# 打印0到10,间隔两个获取一个字符
?print(test[0:10:2])
?#倒序输出
?print(test[::-1])
3.1.2 常用方法
-
capitalize() #首字母大写 -
find() #检查X是否在字符串中 -
count() #统计出现的次数
3.2 列表及常用方法
3.2.1 列表
列表是一种有序的集合,可以随时添加和删除其中的元素
3.2.2 常用方法
-
append 在列表后面追加元素 -
count 统计元素出现的次数 -
extend 扩展,相当于批量添加元素 -
index 获取指定元素索引号 -
insert 在指定位置插入 -
pop 删除最后一个元素 -
remove 移除左边找到的第一个元素 -
reverse 反转列表 -
sort 列表元素
?listA = ["abc",45,"rany",True,13.14]
?#查
?print(listA) #输出完整的列表
?print(listA[1]) #输出第一个元素
?print(listA[1:4]) #输出第二个到第四个元素
?print(listA[1:]) #输出从第二项到最后的元素
?print(listA[::-1]) #倒叙输出
?#增
?listA.append(["didi",520])
?listA.insert(1,"你好") #在第二个位置添加数据(指定位置插入数据)
?rsdate = list(range(10))
?listA.extend(rsdate) #添加一个列表,批量添加
?print(listA) #添加一个列表
?#修改
?print("修改之前:",listA)
?listA[0] = 32
?print("修改之前:",listA)
?#删除
?del listA[0] #删除第一个元素
?del listA[1:3] #删除第二到第三个元素
?listA.remove(13.14) #删除指定的元素(具体的数据项)
?listA.pop(0) #删除指定元素的索引值
?print(listA)
?#查找元素
?print(listA.index(5)) #查找指定元素的位置,返回索引下标
?print(listA.index(8,9)) #查找多个元素的下标
?print(listA) #添加一个列表
3.3 元组
3.3.1 元组的定义
Python中的元组与列表类似,他们的相同点都是可以顺序存储相同类型或者不同类型的元素,不同点是元组一旦被定义,之后便不能修改元组内的元素,元组不支持添加、修改、删除元素等操作。
3.3.2 元组的方法
-
元组使用小括号表示,如 tp = (1,2,3) -
如果元组中只剩下一个元素,要加逗号, -
创建元组
?tp = ("rany",52,13,5,5,5,3.14,"dan") #定义一个元组
?print(type(tp)) #查看元组的数据类型
?print(tp) #打印元组
??
?#元组的查询
??
?for i in tp:
? ? ?print(i)#遍历元组的数据
??
?print(tp[1:2]) #利用切片获取元组的元素
?print(tp.count(5)) #统计元素出现的次数
3.4 字典及常用方法
3.3.1 字典
字典是Python中重要的数据类型,可以存储任意对象。字典是以键值对的形式创建的{“key”:“value”}利用大括号包裹着。
3.4.2 常用方法
?#创建一个字典
?dicA = {"school":"svu","age":"19","pos":"student"}
?print(type(dicA)) #查看类型
?print(len(dicA)) #数据项长度
?#添加
?dicA["name"] = "Rany"
?dicA.update({"height":"185"}) #添加键值对,可以添加多个
?print(dicA) #输出完整的字典
??
?#查找
?print(dicA["name"]) #通过键获取对应的值
?print(dicA.keys()) #获取所有的键
?print(dicA.values()) #获取对应的值
?print(dicA.items()) #获取所有的键和值
?for i in dicA.items():#利用遍历获取所有的键值
? ? ?print(i)
?#删除
?del dicA["pos"] #指定键进行删除
?dicA.pop("age") #指定键进行删除
?print(dicA)
?#修改
?dicA["name"] = "jrc" #用键修改对应的值
?dicA.update({"age":"3"}) #如果存在修改,不存添加
?print(dicA)
??
?#排序,利用ASCII码进行排序
??
?sorted(dicA.items(),key = lambda d:d[0]) #利用key进行排序
??
?sorted(dicA.items(),key = lambda d:d[1]) #利value进行排序,注意格式类型要一致
?print(dicA)
3.5 共有操作
-
合并操作,适用于字符串、列表、元组 ?#字符串
?strA = "我爱你"
?strB = "永远"
?print(strA + strB)
?#列表
?listA = [1,2,3,4]
?listB = [5,6,7,8]
?print(listA + listB)
?#元组
?tpA = (1,2,3,4)
?tpB = (5,6,7,8)
?print(tpA + tpB) -
复制,对象自身按照指定次数进行+操作,适用于字符串、列表、元组 #字符串
?strC = "人生苦短"
?print(strC*3)
??
?#列表
?listA = ["abc",45,"rany",True,13.14]
?print(list*3) #打印三次 -
in 判断元素是否存在,判断指定元素是否存在与对象中,适用于字符串,列表,元组,字典 ?#返回值是False或者True
?#字符串
?strD = "人生苦短,我用Python"
?print("人" in strD) #返回True
?#列表
?listA = ["abc",45,"rany",True,13.14]
?print("人" in listA) #返回False
|