Python基础知识学习3

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值