字典的遍历
字典key值和value值的遍历:
d = {'name':'a','age':1,'sex':'男'}
print(d.keys())
print(d.values())
dict_keys(['name', 'age', 'sex'])
dict_values(['a', 1, '男'])
通过key值进行获取value内容:
d = {'name':'a','age':1,'sex':'男'}
for k in d.keys():
print(d[k])
a
1
男
通过value值进行获取value内容
for v in d.values():
print(v)
主要上面2个获取value值时,输出时的语法存在不同
同时获取key值和value内容:
for k,v in d.items():
print(k)
print(v)
name
a
age
1
sex
男
集合
集合与列表非常相似,他们之间的不同点有:
- 集合只能存储不可变对象
- 集合中存储的对象是无序的
- 集合中存储的对象不能重复(不是按照元素的插入顺序来存储的)
集合的表现形式:集合名称 = {1,2,3,4},如果 d = {},当元素为空时,默认是字典类型
集合格式及类型的示例:
d = {1,2,3,4,5}
print(d,type(d))
{1, 2, 3, 4, 5} <class 'set'>
插入数据的变化:
集合插入元素的示例:
d = {1,2,3,4,5}
d.add(10)
d.add(100)
print(d)
{1, 2, 3, 4, 5, 100, 10}#插入的顺序数据,在集合中是无序的
集合中只能添加不可变的元素
set()函数创建集合
示例:
d = set([1,2,3,4])
print(d,type(d))
{1, 2, 3, 4} <class 'set'>
集合是不支持索引的,因为集合中的元素本身都是无序的
如果非要查看某个索引位置的值,示例:
d = set([1,2,3,4])
print(list(d)[0])
以列表的形式输出该索引位置的value值
add()添加集合元素
update(),将2个集合进行合并,后者合并到前者:a .update(b)—>将集合b合并到集合a,在合并的后请注意:
- 合并时,只把集合b在集合a中没有的元素进行合并,集合a和集合b中相同的元素是不会合并的
示例:
a = {1,2,3,4,5}
b = {2,3,4,5,6,7}
a.update(b)
print(a)
{1, 2, 3, 4, 5, 6, 7}
**pop()随机删除一个元素,a.pop()
remove()指定删除一个元素,a.remove(要删除的值)
pop()与remove()的区别:
- pop()是随机删除,有返回值
- remove()是指定删除值,无返回值**
clear()清楚全部内容,a.clear()
集合的运算
& 交集运算
| 并集运算
-差集运算
^ 异或运算
<= 检查一个集合是否是另一个集合的子集
< 检查一个集合是否是另一个集合的真子集
>= 检查一个集合是否是另一个集合的超集
> 检查一个集合是否是另一个集合的真超级
a = {1,2,3}
b = {1,2,3,4,5,6,7}
print(a&b)
print(a|b)
print(b-a)
print(a^b)
'''
对应的结果:
{1, 2, 3}
{1, 2, 3, 4, 5, 6, 7}
{4, 5, 6, 7}
{4, 5, 6, 7}
'''
函数
函数也是一个对象
对象是内存中专门用来存储数据的一块区域
函数的格式:
def 函数名称(形参):
代码块
函数名称(实参)
说明:
一般情况下形参个数和实参一致,遇到带有“*”则可以不一样
参数传值方式:
一一对应传参
示例:
def fn(a,b):
print(a+b)
fn(1,2)
'''
结果是:
3
'''
#1传值给a,2传值给b,与下面的这种方式一致
'''
def fn(a,b):
print(a+b)
a = 1
b = 2
fn(a,b)
'''
关键字传参
利用“=”进行关键之传参,关键字传参不受一一对应限制
示例:
def fn(a,b):
print(a+b)
print(a)
print(b)
fn(a=2,b=1)
作用域
在给参数赋值时,遵守的原则(优先级):局部参数赋值>函数间的参数赋值>公共区间函数数值
示例:
def fn(a,b):
a = 2
b = 3
print(a+b)
print(a)
print(b)
fn(a=2,b=1)
'''
结果是:
5
2
3
'''