Python 基础3

Python基础3

http://www.runoob.com/python3/python3-dictionary.html)

1. dict字典

字典是另一种可变容器模型,且可存储任意类型对象。

a. 定义

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:
d = {key1 : value1, key2 : value2 }

b. 创建

键必须是唯一的,但值则不必。
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
如:
dict = {‘Alice’: ‘2341’, ‘Beth’: ‘9102’, ‘Cecil’: ‘3258’}

也可如此创建字典:
dict1 = { ‘abc’: 456 };
dict2 = { ‘abc’: 123, 98.6: 37 };

c. 字典的方法

1.访问字典里的值
把相应的键放入到方括号中,如:

dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
print ("dict['Name']: ", dict['Name'])

dict['Name']:  Runoob

2.修改字典
向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对如下:

dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
 
dict['Age'] = 8;               # 更新 Age
dict['School'] = "菜鸟教程"  # 添加信息
 
print ("dict['Age']: ", dict['Age'])
print ("dict['School']: ", dict['School'])

结果:
dict[‘Age’]: 8
dict[‘School’]: 菜鸟教程

3.删除字典元素
能删单一的元素也能清空字典,清空只需一项操作。
显示删除一个字典用del命令,如下:

dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
 
del dict['Name'] # 删除键 'Name'
dict.clear()     # 清空字典
del dict         # 删除字典
 
print ("dict['Age']: ", dict['Age'])
print ("dict['School']: ", dict['School'])

4.字典键的特性
字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。
两个重要的点需要记住:
1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住;
2)键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行。
在这里插入图片描述

2. 集合

a… 特性

集合(set)是一个无序的不重复元素序列。


>>>basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
>>> print(basket)                      # 这里演示的是去重功能
{'orange', 'banana', 'pear', 'apple'}
>>> 'orange' in basket                 # 快速判断元素是否在集合内
True
>>> 'crabgrass' in basket
False
 
>>>  下面展示两个集合间的运算.
...
>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a                                  
{'a', 'r', 'b', 'c', 'd'}
>>> a - b                              # 集合a中包含而集合b中不包含的元素
{'r', 'd', 'b'}
>>> a | b                              # 集合a或b中包含的所有元素
{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
>>> a & b                              # 集合a和b中都包含了的元素
{'a', 'c'}
>>> a ^ b                              # 不同时包含于a和b的元素
{'r', 'd', 'b', 'm', 'z', 'l'}

b 创建

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建格式:
parame = {value01,value02,…}
或者
set(value)

c. 方法

1.添加元素
s.add(x)
将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作。
还有一个方法,也可以添加元素,且参数可以是列表,元组,字典等,语法格式如下:
s.update( x )
x 可以有多个,用逗号分开。

2.移除元素
语法格式如下:
s.remove( x )
将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误。

此外还有一个方法也是移除集合中的元素,且如果元素不存在,不会发生错误。格式如下所示:
s.discard( x )

我们也可以设置随机删除集合中的一个元素,语法格式如下:
s.pop()

然而在交互模式,pop 是删除集合的第一个元素(排序后的集合的第一个元素)。

3、计算集合元素个数
语法格式如下:
len(s)
计算集合 s 元素个数。

4、清空集合
语法格式如下:
s.clear()

5、判断元素是否在集合中存在
语法格式如下:
x in s
判断元素 x 是否在集合 s 中,存在返回 True,不存在返回 False。
在这里插入图片描述
在这里插入图片描述

3. 判断语句(要求掌握多条件判断)

Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
可以通过下图来简单了解条件语句的执行过程:
在这里插入图片描述
if 语句
Python中if语句的一般形式如下所示:

if condition_1:
    statement_block_1
elif condition_2:
    statement_block_2
else:
    statement_block_3

注意:
1、每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。
2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
3、在Python中没有switch – case语句。

if 嵌套
在嵌套 if 语句中,可以把 if…elif…else 结构放在另外一个 if…elif…else 结构中。

if 表达式1:
    语句
    if 表达式2:
        语句
    elif 表达式3:
        语句
    else:
        语句
elif 表达式4:
    语句
else:
    语句

4. 三目表达式

Python也有自己的三目运算符:

条件为真时的结果 if 判段的条件 else 条件为假时的结果

a if b else c
1
表示如果 b 为 True,则表达式等于 a,否则等于 c。

 x = int(input("输入第一个数:"))
 y = int(input("输入第二个数:"))
 z = int(input("输入第三个数:"))
 
 三目运算符的第一种写法
 print((x if (x>y) else y) if ((x if (x>y) else y)>z) else z)
三目运算符的第二种写法
 a=(x if (x>y) else y)
 print(a if (a>z) else z)

5. 循环语句

Python中的循环语句有 for 和 while。
Python循环语句的控制结构图如下所示:
在这里插入图片描述
while 循环
Python中while语句的一般形式:
while 判断条件:
语句
同样需要注意冒号和缩进。另外,在Python中没有do…while循环。

无限循环
我们可以通过设置条件表达式永远不为 false 来实现无限循环,如下:while var == 1 : # 表达式永远为 true

while 循环使用 else 语句
在 while … else 在条件语句为 false 时执行 else 的语句块.

简单语句组
类似if语句的语法,如果你的while循环体中只有一条语句,你可以将该语句与while写在同一行中, 如下所示:


flag = 1
while (flag): print ('欢迎访问菜鸟教程!')
print ("Good bye!")

for 语句
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
for循环的一般格式如下:

for <variable> in <sequence>:
    <statements>
else:
    <statements>

在 for 实例中使用 break 语句,break 语句可以用于跳出当前循环体。

range()函数
如果你需要遍历数字序列,可以使用内置range()函数。它会生成数列。

也可以使range以指定数字开始并指定不同的增量(甚至可以是负数,有时这也叫做’步长’):

>>>for i in range(0, 10, 3) :
    print(i)

可以结合range()和len()函数以遍历一个序列的索引,如下所示:

>>>a = ['Google', 'Baidu', 'Runoob', 'Taobao', 'QQ']
>>> for i in range(len(a)):
...     print(i, a[i])

还可以使用range()函数来创建一个列表:

>>>list(range(5))
[0, 1, 2, 3, 4]

break和continue语句及循环中的else子句
break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。

continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止时被执行,但循环被break终止时不执行。

pass 语句
Python pass是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句,如下实例
实例

>>>while True:
...     pass  # 等待键盘中断 (Ctrl+C)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值