<3>.字典大小
通过len函数来获取字典大小:len(a)
这里给出例子:
<4>.字典的标签索引
语法:dict[key]
获取字典中指定标签的数据值
更新指定标签的数据项
<5>.访问字典中的数据项
keys函数:返回字典中的所有标签,语法:a.keys()
values函数:返回字典中所有的数据值,语法:a.values()
items函数:将每个数据项表示为二元元组返回所有的数据项,语法:a.items()
这里给出例子:
3.在字典中查找
in操作
判断字典中是否存在某个标签
语法:”name“ in dict
in和values函数组合
判断字典中是否存在某个数据项
语法:20 in dict。values()
三.集合
在介绍集合之前,我们先来想象一个”标签带“,保存标签的一个袋子
通过改造字典的类型,去掉关联的数据值,只留下标签的新容器类型
集合是不重复元素的无需组合
1.创建集合
花括号命名法或set()
语法:a={}
a=set()
可用set()创建空集,可用set()从其他序列转换生成集合
集合会自动忽略重复数据,集合中不能加入可变类型的数据
2.集合的操作
<1>.增长集合
add函数:增加一个元素,语法:a.add(n)
update函数:批量增加数据,语法:a.update(b)
通过这个例子我们也能看到:集合会自动忽略重复数据
<2>.缩减集合
remove/discard函数:删除指定数据,语法:a.remove(要删除的数据)
a.discard(要删除的数据)· pop函数:删除任意数据并返回,语法:
a.pop() clear函数:清空集合,语法:
a.clear()`
我们看到remove和discard函数都能删除指定数据,那么他俩的区别在哪呢?
我们通过一个空集就能看到区别:
我们可以看到,当在集合中找不到指定数据时,remove函数会报错,但是discard函数不会报错,这就时它俩的区别
<3>.访问集合中的元素
in操作:判断元素是否属于集合,语法:n in a(集合)
pop操作:该操作随机返回(如果你了解底层,你应该知道它是按照压栈顺序,逆序删除)一个元素,并删除,语法:a(集合).pop()
<4>.集合运算,集合判断
同我们爱爱数学中学过的一样,集合可以做各种运算和判断:
运算 | 说明 |
”a|b" | 求并集 |
a&b | 求交集 |
a-b | 求a集合和b集合的差 |
关系判定:
在Python中,我们可以用<=,=,>来判断两集合的关系(子集,真子集,超集,真超集)。
我们还可以通过isdisjoint函数来判断两级和是否为空。
3.什么时候用集合?
1.快速去除重复元素
2.判断元素是否在一组数据中
四.建立复杂的数据结构
在Python中,我们还可以建立复杂的数据结构,在次之前,我们回顾一个建立各种容器的符号:
符号 | 容器 | 下标索引方式 |
[ ] | 列表 | int |
() | 元组 | int |
{} | 字典 | key |
嵌套列表(元组)
我们可以创建三个列表(元组),然后将这三个列表(元组)嵌套到一个新的列表中:
嵌套字典
字典的元素可以是任意类型,甚至可以是字典
字典的key可以是任意不可变类型
例:用元组作为坐标,索引元素
五.输入和输出
我们将输入和输出比作生产线,有来料(输入),来料加工,产品展示(输出)。
来料:用户输入,input函数
产品展示:程序输出,print函数
1.输入
input函数:input(提示内容)
括号中可以写提示内容:
我们可以看到,input函数返回我们输入的内容,程序中大多需要我们保存这个值到变量,我们就可以用一个变量来接收输入的内容:
我们可以看到:变量a成功接收到了我们输入的内容。
2.输出
print函数:print(要输出的内容)
我们来看看print函数的原型:print(*objects, sep=' ', end='\n', file=sys.stdout)
sep:表示变量之间用什么字符隔开,缺省为空格
end:表示这个字符串以什么结尾,缺省为换行
file:指定文本将要发送的文件,标准流或其他类似的文件对象,默认是sys.stdout
3.格式化字符串
%d(转化为十进制),%s(转化为字符串),%(u1,u2)
print(xxxxxx %dxxxxxx%x(u1,u2))
其中 %s就是格式化符,意思是把后面的值格式化为字符类型,类似的格式化符还有%d,%f等,详见Python格式化字符串。
也可以用元组的形式传值,后面的u1,u2就是要格式化的值,不论是字符还是数值,都会被格式化为格式化符对应的类型。