tuple 元组
定义元组
names =("tom","lily")
a = [1,2]
b = "hello"
c = 2
print(type(a)) # <class 'list'>
print(type(b)) # <class 'str'>
print(type(c)) # <class 'int'>
print(type(names)) # <class 'tuple'>
元组特性
- 定义好的数据不能修改
names =("tom","lily")
names[1] = "jarry"
元组支持的方法
- count 统计数量
- index 查找索引
names =("tom","lily","tom")
# tom的数量
n = names.count("tom")
print(n)
i = names.index("lily")
print(i)
元组数据应用场景
数据定义好之后就不再更改的场景,比如 游戏中地图上一些建筑的位置;
测试代码中,比如链接数据库的相关信息可以存放在元组。
set 集合
集合类型的重要特征是: 无序, 并且数据不重合;
定义集合
# 定义集合
names = {"lily","tom","tom","apple","apple"}
print(type(names)) # <class 'set'>
# 集合会自动的将重复数据去重,
print(names) # {'lily', 'tom', 'apple'}
使用场景
有数据重复 需要去重的场景;
数据类型转换
可以将 集合 set, 元组 tuple, 列表 list 三种类型的数据进行相互转换;
现在有个 tuple 存放全班同学的成绩
scores = (100,99,100,88,45,67,45,67,90,100)
请使用一段代码,将成绩去重后进行从大到小的排序;
去重,将tuple 转换为 set 就可以实现去重;
# tuple
scores = (100,99,100,88,45,67,45,67,90,100)
进行排序
s2.sort(reverse=True) print(s2) # [100, 99, 90, 88, 67, 45]
---
也可以一步到位
```python
print(sorted(list(set(scores)),reverse=True))
dict 字典
创建字典
userinfo = {
"name":"xiaoming",
"age":25,
"workyear": 3,
"isgood": True
}
print(type(userinfo)) # <class 'dict'>
访问字典
可以通过访问 字典中的key 值来获取对应的value;
print(userinfo["name"])
练习
students = [
{"name":"xiaowang","age":30},
{"name":"Tom","age":31},
{"name":"xiaohong","age":28},
{"name":"xiaoli","age":30},
{"name":"jarry","age":30}
]
访问 xiaohong 的age值
print(students[2]["age"])
students中添加一名新同学
{"name":"huahua","age":23}
students.append({"name":"huahua","age":23})
面试问题
元组和列表的区别;
- 元组定义好之后是不能被修改的,但是列表中的数据可以进行增删改查的操作;
- 支持方法不一样:元组只有两个查找的方法 count,index,但是列表支持更多的方法;
- 集合set 和字典 dict 的区别;
- dict 字典中的值是成对出现的,
key
:value
对应的 - set 集合中的数据都是单独的。
- 定义空的字典
{}
, 定义空的集合set()
- dict 字典中的值是成对出现的,