我们在使用python时,存在不同的数据类型,理所当然不同的数据类型有着不同的效果
常见的数据类型有:
number(数字)、string(字符串)、list(列表)、tuple(元组)、dictionary(字典)
其中,number、string、tuple 是不可变数据,也就是无法被修改的数据类型,可用于查询,而list和dictionary是可变数据,可以往里面修改、删除数据等一系列操作,所以方便添加数据,我们会选择合理的数据类型进行操作.
字符串类型上一期已经描述过了,主要为字符串的索引和截取和数据替换等,而列表中也有相类似的方法
列表
这里我们定义一个空列表 list_01 = [ ] 或者 list_01 = list( )
我们可以使用append函数在列表后进行元素添加
如 list_01.append("陈某")即在空列表添加了一个元素,如果列表不为空的话默认在该列表的最后一个元素后新增"陈某"这个元素
如果已有列表 list_02[ "你好","好久不见"]和列表 list_03["我们见一面"]
我们可以使用extend函数将两个列表合并为一个列表
list_02.extend.(list_03), 就是将list_03列表合并入list_02列表中,覆盖为新的list_02列表,lis_03不改变
我们也可以在指定位置添加元素,用下标来获取元素在列表中所在的位置,然后在该位置处进行添加
如list_02=["你好","好久不见",我们见一面"]
先用index函数找到所在的下标, list_02.index("好久不见"), 在元素在列表中下标为1
再使用insert函数在该下标处添加:
以下标红的均用变量代替
list_02.insert(1,"需要添加的元素") 或者
list_02.insert(list_02.index("好久不见"),"需要添加的元素" (用于肉眼数不出来的位置或用户自己输入时)
示例:
删除:
删除列表中的元素我们可以使用remove函数进行指定删除
列表.remove("列表中你想删除的元素")
列表.pop() 默认删除该列表中最后一个元素
del 列表[下标] 通过元素所在下标删除该元素
列表.clear() 情况该列表,留下一个空列表
示例:
修改:
正常替换就是 列表[下标(小于len(列表)] = "替换的元素"
同样,我们可以先通过index函数查找元素下标,确定所在下标进行对指定元素替换修改
先通过 列表.index("列表中要修改的元素")
再 列表[ 列表.index("列表中要修改的元素") ] = "替换的元素"
示例:
查询:
与字符串的查询类似,
列表[下标] 查询该下标的元素
列表[ :下标] 查询到该下标之前的元素,不包含该下标的元素
列表[ : ] 查全部
列表[ : : -1] 反转列表,从后往前输出
....
示例:
排序:
如果为纯英文或纯数字列表可以使用sort或reverse进行排序
列表.sort() 从小往大排序
列表.reverse() 从大往小排序
元组
元组是不可变数据类型,所以通常只用于查询阅读,无法对其进行增加、修改或删除
查询:
同列表和字符串的查询方式一样,使用下标进行查询
元组 [下标]
也可以使用index进行下标确定
元组.index("元组中的元素")
示例:
# 定义一个元组
tuple1 = (1,2,3,3) # 同类型数据
tuple2 = (1,True,1.2,"我爱你") # 不同类型
tuple3 = tuple() # 定义一个空元组
# 查询元组
# 通过下标查询
print("="*10,"元组的查询","="*10)
print("目标元组:",tuple2)
print("查询下标为1的元素",tuple2[1])
"""
========== 元组的查询 ==========
目标元组: (1, True, 1.2, '我爱你')
查询下标为1的元素 True
"""
字典
字典是以 { } 大括号形式输出的,如dict = { "姓名" : "陈某" ,"性别" : "男"},是以一对一对的形式出现的,我们将"姓名"称为key,对应的"陈某"称为value,即dict = { key : value,......}
添加和修改:
添加和修改:字典[ key ] = value 将新的键值对添加到该字典末尾,如果该字典内已经存在你输入的key值,就会覆盖字典内的value值即为修改,一个字典中不产生多个相同的key,即为字典的唯一性.
我们也可以通过setdefault和fromkeys函数进行添加
字典.setdefault( key , value ) , 该添加方式为如果字典中不存在相同的key,则在末尾添加你输入的key和对应的value。如果存在,则不改变原先键值对。
我们也可以先创建一个 空字典1 , 空字典1=空字典1.fromkeys([key,key,key,....]),此时空字典就添加了输入的相应的key变为字典1,对应的value均显示None,可以通过下面进行key的查询修改操作
然后再将 字典1 与 原字典 进行合并, 原字典.update(字典1),该合并是将字典1合并进入字典,原字典发生新增,字典1不改变现有的键值对.
示例:
dict1 = {"姓名":"陈某"}
dict2 = {"性别":"男"}
dict1.update(dict2)
print(dict1)
print(dict2)
"""
{'姓名': '陈某', '性别': '男'}
{'性别': '男'}
"""
删除:
del 字典[key] , 删除该字典你输入的key对应的键值对
字典.pop(key), 删除该字典你输入的key对应的键值对
字典.popitem(),删除该字典中最后一个键值对
字典.clear(),清楚该字典全部数据,会保留一个空字典
如图:
查询:
print(字典[key]),即可查询该字典你输入的key键对应的value值,
print(字典.get(key)),也可取到对应的值
dict_01 = {"姓名":"陈某","性别":"男","年龄":"23"}
print(dict_01["姓名"])
print(dict_01["性别"])
print(dict_01["年龄"])
print(dict_01.get("姓名"))
陈某
男
23
陈某
字典的遍历:
dict_01 = {"姓名":"陈某","性别":"男","年龄":"23"}
for i in dict_01.keys():
print(i) # 以i变量获取该字典中所有的key
print("=" * 15)
for j in dict_01.values():
print(j) # 以j变量获取该字典中所有的value
print("="*15)
for a,b in dict_01.items():
print(a,b) # 以a,b为变量获取该字典所有的键值对
姓名
性别
年龄
===============
陈某
男
23
===============
姓名 陈某
性别 男
年龄 23