一、字典
键值对集合
语法:dict={键1:值1,键2:值2,...}
注:当键重复时,会以后加入的键值对为准
1、字典元素访问
(1)字典名[键名]
(2)字典名.get(键名)
(3)遍历打印键名:
for key in 字典名:
print(key)
(4)遍历打印键值:
for key in 字典名:
print(字典名[key])
(5)字典名.values() 返回字典值
for value in 字典名.values():
print(value)
(6)字典名.items 访问键和值
#key表示键名,value表示对应的值
for key, value in 字典名.items():
print("key = ", key, ", value = ", value)
2、添加字典
使用 字典名[键名]=值 添加
3、删除字典
(1)pop()方法
删除具有指定键名的项,语法规则为 字典名.pop(键名)。
(2)popitem()方法
删除字典中最后项(3.7之前的版本删除随机元素),语法规则为 字典名.popitem()。
(3)del
删除指定键名的项,语法规则为:del 字典名[键名]
完全删除字典,语法为:del 字典名
(4)clear() 清空字典
语法规则为:字典名.clear()
4、复制字典
(1)字典名.copy()
(2)dict(字典名)
5、创建字典
dict(键名=键值,键名=键值,...,键名=键值)
{键:值,键:值,...,键:值}
二、元组
元组和列表很像,但元组元素不可以改变
1、元组创建
(元素1,元素2,...,元素n)
tips:如果需要创建一个仅包含一个元素的元组,必须在该元素后面添加一个逗号,否则,Python 无法将变量识别为元组。如:tuple1=('元素',)
2、访问元组
(1)通过 元组名[下标] 访问,正索引从0开始,负索引从-1开始
(2)通过切片访问,元组名[m:n]
(3)使用for遍历元组元素
3、添加元组元素
元组一旦创建就不可改变,添加元素会报错
4、删除元组元素
不能删除元组元素,但可以通过 del 元组名 删除整个元组
5、元组合并
元组元素无法修改,但可以将两个元组合并为一个新元组,通过 + 合并
元组3 = 元组1 + 元组2
三、集合
集合是无序元素的集合。集合中的元素不能重复,不能被修改,但可以往集合里添加或者删除元素。
1、集合创建
{元素1,元素2,...,元素n}
tips:如果集合中有重复的元素,重复的将会被忽略。集合是无序的,同一个集合,可能每次运行创建时打印出来的顺序不一样。
2、元素访问
集合是无序的,因此无法通过索引访问其元素。能用for循环遍历集合元素,用in判断元素是否存在集合中。
(1)for
(2)in,判断元素是否在集合中,存在则返回True
3、添加元素
(1)add()
语法:集合名.add(元素名)
只能添加单个元素
(2)update()
语法:集合名.update({元素1,元素2,...,元素n})或集合名.update([元素1,元素2,...,元素n])
添加多元素集合,如集合、列表
4、删除元素
(1)discard()
语法:集合名.discard(元素名)
(2)remove()
语法:集合名.remove(元素名)
两者不同之处在于:当删除一个集合中不存在的元素时,discard不会做任何操作,remove则会报错。删除存在元素时,效果是一样的。
5、集合操作
(1)并集,相当于数学集合中的 A∪B,将A和B集合的元素合并在一起
Python使用union()和 | 操作符实现并集
语法:集合1.union(集合2)、集合1 | 集合2
(2)交集,相当于数学中的A∩B,将集合A和集合B中公共元素提取出来
Python中使用intersection()和 & 操作符实现交集
语法:集合1.intersection(集合2)、集合1 & 集合2
(3)差集,相当于数学中的,集合A和集合B,元素只属于其中一个集合,不属于另一个集合。
Python中使用difference()和 - 操作符实现
语法:集合1.difference(集合2),集合1 - 集合2,表示元素只存在集合1,不存在集合2中
(4)对称差集,即集合A和集合B,只存在集合A不存在集合B中的元素和只存在集合B不存在集合A中的元素的并集
使用symmetric_difference()和 ^ 运算符实现
语法:集合1.symmetric_difference(集合2)、集合1^集合2
四、函数
1、定义
def function_name(parameters):
statements
def 定义函数关键字
function_name 函数名
parameters 参数列表,可选,多个可以用英文逗号分隔
statements 函数语句块(前4个空格缩进)
2、函数调用
function_name(parameters)
3、参数传递
(1)位置参数
表示参数的位置对函数运行结果有影响,同一个参数在不同位置会有不一样的结果表达。如:
def cal(qty, item,price):
print(f'{qty} {item} cost ${price:.2f}')
cal(6, 'bananas', 5.74)
输出结果:6 bananas cost $5.74
解析:定义了一个函数 cal()
,函数 cal()
中有三个参数,分别是参数 qty
、参数 item
和参数price
,当调用函数 cal()
时,传递三个参数的值 6,'bananas',5.74
给函数,最终运行结果为 6 bananas cost $5.74
tips:f 表示格式化{}中的内容输出,{}外的按原有格式输出。{:.2f}表示保留小数点后2位输出
(2)关键字参数
在传递值的时候,还可以带上参数的名字,具体形式为 keyword = value
,这里的 keyword
必须匹配上一个函数定义中的参数名,也就是说是 参数名1=值1
,参数名2=值2
,参数名3=值3
这种形式。
def cal(qty, item, price):
print(f'{qty} {item} cost ${price:.2f}')
cal(qty=6, item='bananas', price=5.74)
输出结果:6 bananas cost $5.74
此时,参数顺序可以不用按顺序传递。
(3)默认参数
在函数定义中,还可以定义默认参数。如果在调用函数传默认参数的值,则使用参数默认值,若参数传了值,则以指定值为准。
def cal(qty=6, item='bananas', price=5.74):
print(f'{qty} {item} cost ${price:.2f}')
cal(4, 'apples', 2.24)
输出:4 apples cost $2.24
def cal(qty=6, item='bananas', price=5.74):
print(f'{qty} {item} cost ${price:.2f}')
cal(4, 'apples')
输出:4 apples cost $5.74
4、return语句
两个作用:
(1)立即返回程序,将程序执行控制权交还给调用者
(2)返回结果值给调用者
def f(x):
if x < 0:
return
if x > 100:
return
print(x)
f(-3)
f(105)
f(64)
输出:64
解析:当调用函数 f(-3)
时,传递参数值 -3
,回到函数 f(x)
中,符合语句 x < 0
,执行 return
语句,立即返回;执行调用函数 f(105)
语句,符合语句 x > 100
,执行 return
语句,立即返回;执行调用函数f(64)
语句,64 既不 < 0,也不 > 100,执行 print(x)
语句,打印出 64。