数据类型
数据类型分为四种
1 列表
2 元组
3 集合
4 字典
1.列表 list
1>创建列表
names = list() # 创建了一个空列表
names = [ ] # 创建了一个空列表
dir() 查看某个类型下可以操作的所有的函数
help() 查看某个类型/函数/变量的操作方式
2>list列表的常见操作
增加数据:append() insert() extend()
删除数据:del 列表名称[下标]
clear()清空列表
修改数据:列表名称[下标] = 新数据
查看数据:通过编号直接查询获取数据
列表的编号:也称为索引、下标
其他操作
copy()复制一个新列表
count()查看列表中某个数据出现的次数
3>数据的常见操作
增加:新增数据
删除:直接从内存中删除数据
修改:原来就有,改变数据的值
查询:将数据从变量中取出
任何场景下,对于数据的处理,只有 增删改查 四种方式,简称CRUD
列表:python中提供的可以存储多个数据的组合数据类型之一
类型:list: 可以存储多个可以重复的有顺序的数据!
列表主要可以存储多个数据:增加数据、删除数据、修改数据、查询数据
列表的的基本操作:
# 声明列表
names = []
jobs = list()
# 增加数据
# 1. 末尾追加数据
jobs.append("数据分析工程师")
jobs.append("python开发工程师")
jobs.append("运行维护工程师")
jobs.append("需求分析工程师")
jobs.append("测试工程师")
jobs.append("系统架构工程师")
# 2. 指定位置添加:该位置之后的数据全部后移
jobs.insert(2, "爬虫工程师")
# 3. 在末尾一次追加多个数据,追加一个列表数据
jobs.extend(["php工程师", "java工程师", "c工程师"])
# 删除数据
# 4. 通过del关键字删除指定位置的数据
del jobs[1]
# 修改数据:根据下标,给指定位置的数据重新赋值:新值会覆盖原来的数据
# 5. 修改数据
jobs[0] = "python数据分析工程师"
# 6. 查询数据:可以直接通过下标查询指定位置的数据
print(jobs[0])
# 7.其他常用方法
# 查询数据:某个数据出现的位置
jobs.index("爬虫工程师")
# 查询数据:某个数据出现的次数
jobs.count("爬虫工程师")
# 排序:按照自然顺序进行排序
jobs.sort()
# 翻转
jobs.reverse()
# 删除数据的操作
# 删除末尾的一个数据,并将数据返回
r = jobs.pop()
print(r)
# 删除指定位置的数据,并讲数据返回
r = jobs.pop(3)
print(r)
# 删除制定的数据
jobs.remove("需求分析工程师")
# 清空列表
jobs.clear()
# 扩展几个方法
nums = [1,2,3,4,5,6,7,8,9]
# 计算列表中所有数据的和
r = sum(nums)
print(r)
# 获取列表中最大的数据
m1 = max(nums)
print(m1)
# 获取列表中最小的数据
m2 = min(nums)
print(m2)
# 获取列表中数据的个数
c = len(nums)
print(c)
4>列表的切片和遍历操作
切片:从原有的列表中,按照指定的位置,切出一个新列表
jobs = list()..存储了10个数据
需要2~5下标位置的数据:jobs[2:6]
需要2~8的数据,间隔1个获取1次:jobs[2:6:2]
# 列表中存储多个数据
nums = [0,1,2,3,4,5,6,7,8,9,10]
# 切片一部分数据
# 语法: 列表名称[开始位置:结束位置:步长]
n1 = nums[0:5] # [0, 1, 2, 3, 4] # 默认步长为1
n2 = nums[6:] # [6, 7, 8, 9, 10]
n3 = nums[:3] # [0, 1, 2]
n4 = nums[1:6:2] # [1, 3, 5]
# python中提供双向索引
# 正向索引:从左往右:0->1->2->3..
# 反向索引:从右往左:-1 -> -2 -> -3 -> -4...
n5 = nums[-1:-3] # []
n6 = nums[-3:-1] # [8, 9]
n7 = nums[-1] # 10
# 成员运算符:判断一个数据是否在列表中包含: 变量 in 列表
print(10 in nums) # True
print(12 in nums) # False
# for循环:专门用于遍历多个数据
for n in nums:
print( n) # 0, 1, 2, 3, 4, 5 ,6...
# 获取列表中数据的编号
names = ["tom", "jerry", "shuke"]
for m in names:
print(m) # ton in names:m jerry shuke
for x, y in enumerate(names):
print(x, y) # 0 tom 1 jerry 2 shuke
2 元组 tuple
元组:可以存放一组有顺序的可以重复的但是不可以改变的数据。
元组主要用于数据处理的:只能删除和查询,不可以增加和修改
创建一个元组:
t1 = tuple() 声明一个空元组
t2 = () 声明一个空元组
t3 = (1,2,3,4,5) 声明包含元素的元组
t4 = (“h”) t4 = (“h”,) 如果只有一个元素,添加一个逗号分隔
t5 = (1) t5 = (1,) 如果只有一个元素,添加一个逗号分隔
程序中,如果出现了一组数据,在使用过程中,不允许修改的情况下
优先选择:元组 tuple
其次选择:列表 list
查询相关函数,可以直接操作,如:len()查看元组中元素的个数
运算相关:
元组自己没有提供count/index之外的操作
外部有一个默认的函数sorted可以针对元组进行排序,但是会改变元组的类型
排序注意:使用系统默认排序~保证排序的数据他们的数据类型是一致的!
3 集合 set
需求场景:我们需要存放一组数据,但是不希望存放重复的数据!用户的账号!
集合:通过哈希(hash)算法在一个容器中存放多个没有顺序的不可以重复的数据
声明一个集合:
s1 = set() <class ‘set’>
s2 = {“a”} <class ‘set’>
集合是用于存储和处理数据的,存储多个没有顺序的不可以重复的数据;通过hash算法让添加的数据不重复[剔重]
4 字典 dict
字典:可以存储多个key:value 键值对数据的组合数据类型
常见操作:声明字典
d1 = dict() # 空字典
d2 = {} # 空字典
数据常见操作:增加、删除、修改、查询
clear'清空, 'copy'复制, 'fromkeys'通过制定的key生成一个值为None的字典, 'get'根据key获取对应的值, 'items'获取所有的k:v键值对, 'keys'获取所有的键, 'pop'根据key值删除一个键值对, 'popitem'随机删除一个键值对, 'setdefault'增加一个数据,如果数据存在~修改, 'update', 'values获取所有的值
字典中,增加数据
f[key] = value
f.setdefault(key, value)
f.update(key, value)
删除数据:删除一个键值对
f.pop(key) 删除制定的key:value键值对
f.popitem() 随机删除一个键值对
def f[key] 删除制定的key:value键值对
修改数据
f[key] = value
f.update({key, value})
查询数据
v = f[key]
v = f.get(key)
遍历数据
for k in f.keys():# 直接循环字典中的key数据
print(k, f.get(k)) # value数据通过key数据获取
for k, v in f.items():# 直接循环字典中的key和value数据
print(k, v)
网友评论