Task3(2day)
1 Dict字典
1) 定义
字典是一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:
d = {‘key1’:‘value1’, ‘key2’:‘value2’}
2) 创建
字典由键和对应值成对组成。字典也被称作关联数组或哈希表。基本语法如下:
键必须独一无二,但值则不必。
值可以取任何数据类型,但必须是不可变的,如字符串,数或元组
user1 = {'firstname':'li', 'lastname':'ming', 'age':30, 'city':'Tianjin'}
print(user1['firstname'].title()+ user1['lastname'].title()+
" is "+ str(user1['age'])+ " years old and lives in "+
user1['city']+ '.')
#以上实例输出结果:
#LiMing is 30 years old and lives in Tianjin.
3) 字典的方法
访问字典里的元素
把相应的键放入熟悉的方括弧
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print ("dict['Name']: ", dict['Name'])
#以上实例输出结果:
#dict['Name']: Zara
修改字典里的元素
字典是一种动态结构,可随时在其中添加键-值对和修改字典中的值,可依次指定字典名、用方括号括起的键和相关联的值。
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
dict['Age'] = 8; # update existing entry
dict['School'] = "DPS School"; # Add new entry
print ("dict['Age']: ", dict['Age'])
print ("dict['School']: ", dict['School'])
#以上实例输出结果:
#dict['Age']: 8
#dict['School']: DPS School
删除字典里的元素
对于字典中不再需要的信息,可使用del语句将相应的键-值对彻底删除。使用del语句时,必须指定字典名和要删除的键
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
del dict['Name'] # 删除键是'Name'的条目
dict.clear() # 清空词典所有条目 KeyError: 'Age'
del dict # 删除词典 TypeError: 'type' object is not subscriptable
print ("dict['Age']: ", dict['Age'])
# 但这会引发一个异常,因为用del后字典不再存在
参考链接:https://www.cnblogs.com/zhaijiahui/p/9490949.html
遍历字典
遍历字典主要是遍历字典的项、键和值。遍历字典的项是把字典包含的所有项都列举出来,遍历字典的键和值是把字典所有的键和值都列举出来。字典提供的items方法可获取字典所有项的集合,在for循环语句中使用items方法可以遍历字典包含的所有项。
1.遍历key值
d = {'Python':'astonishing', 'C++':'complicated', 'Java':'versatile'}
for key in d。keys():
print(key + ':' + d[key])
#以上实例输出结果:
# Python:astonishing
# C++:complicated
# Java:versatile
2.遍历value值
for value in d.values():
print(value)
#以上实例输出结果:
# astonishing
# complicated
# versatile
3.遍历字典
for k, v in d.items():
print(k + ':' + v)
# Python:astonishing
# C++:complicated
# Java:versatile
2. 集合
1) 特性
集合(set)是一个无序的不重复元素序列。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建格式
parame = {value01,value02,…}
或者
set(value)
2) 创建
basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
print(basket)
#以上实例输出结果:
{'apple', 'banana', 'pear', 'orange'} # 这里演示的是去重功能
3) 方法
1、添加元素
语法格式如下:
s.add( x )
将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作。
2、移除元素
语法格式如下:
s.remove( x )
将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误
此外还有一个方法也是移除集合中的元素,且如果元素不存在,不会发生错误。格式如下所示:
s.discard( x )
我们也可以设置随机删除集合中的一个元素,语法格式如下:
s.pop()
3、计算集合元素个数
语法格式如下:
len(s)
4、清空集合
语法格式如下:
s.clear()
清空集合 s。
4、判断元素是否在集合中存在
语法格式如下:
x in s
判断元素 x 是否在集合 s 中,存在返回 True,不存在返回 False
参考链接:https://www.runoob.com/python3/python3-set.html
3. 判断语句(要求掌握多条件判断)
Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。
Python中if语句的一般形式如下所示:
if condition_1:
statement_block_1
elif condition_2:
statement_block_2
else:
statement_block_3
• 如果 “condition_1” 为 True 将执行 “statement_block_1” 块语句
• 如果 “condition_1” 为False,将判断 “condition_2”
• 如果"condition_2" 为 True 将执行 “statement_block_2” 块语句
• 如果 “condition_2” 为False,将执行"statement_block_3"块语句
Python 中用 elif 代替了 else if,所以if语句的关键字为:if – elif – else。
注意:
• 1、每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。
• 2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
• 3、在Python中没有switch – case语句。
age = 12
if age < 4:
price = 0
elif age < 18:
price = 5
elif age < 65:
price = 10
elif age > 65:
price = 5
print("Your admission cost is $" + str(price) + ".")
#以上实例输出结果:
#Your admission cost is $5.
参考链接:https://www.runoob.com/python3/python3-conditional-statements.html
4. 三目表达式
Python 可通过 if 语句来实现三目运算符的功能,因此可以近似地把这种if语句当成三目运算符。作为三目运算符的 if 语句的语法格式如下:
True_statements if expression else False_statements
三目运算符的规则是:先对逻辑表达式 expression 求值,如果逻辑表达式返回 True,则执行并返回 True_statements 的值;如果逻辑表达式返回 False,则执行并返回 False_statements 的值。看如下代码:
a = 5
b = 3
st = "a大于b" if a > b else "a不大于b"
print(st)
# 输出"a大于b"
#两条语句合并
print("a大于b") if a > b else print("a不大于b")
需要指出的是,三目运算符支持嵌套,通过嵌套三目运算符,可以执行更复杂的判断。例如,下面代码需要判断 c、d 两个变量的大小关系:
c = 5
d = 5
print("c大于d") if c > d else (print("c小于d") if c < d else print("c等于d"))
#输出c等于d
上面代码首先对 c>d 求值,如果该表达式为 True,程序将会执行并返回第一个表达式:print(”c大于d”);否则系统将会计算 else 后面的内容:(print(“c小于d”) if c < d else print(“c等于d”)),这个表达式又是一个嵌套的三目运算符表达式。注意,进入该表达式时只剩下“c小于d”或“c等于d”两种情况,因此该三目运算符再次判断 c<d,如果该表达式为 True,将会输出“c小于d”;否则只剩下“c等于d”一种情况,自然就输出该字符串了。
参考链接:http://c.biancheng.net/view/2187.html