python基础任务三

1. dict字典
a. 定义
b. 创建
c. 字典的方法
2. 集合
a. 特性
b. 创建
c. 方法
3. 判断语句(要求掌握多条件判断)
4. 三目表达式
5. 循环语句

1. dict字典

a. 定义
字典可能是Python最为重要的数据结构。它更为常见的名字是哈希映射或关联数组。它是键值对的大小可变集合,键和值都是Python对象。

b. 创建
创建字典的方法之一是使用尖括号,用冒号分隔键和值:

In [101]: empty_dict = {}

In [102]: d1 = {‘a’ : ‘some value’, ‘b’ : [1, 2, 3, 4]}

In [103]: d1
Out[103]: {‘a’: ‘some value’, ‘b’: [1, 2, 3, 4]}

用序列创建字典

mapping = {}
for key, value in zip(key_list, value_list):
……mapping[key] = value

c. 字典的方法

你可以像访问列表或元组中的元素一样,访问、插入或设定字典中的元素:

In [104]: d1[7] = ‘an integer’

In [105]: d1 Out[105]: {‘a’: ‘some value’, ‘b’: [1, 2, 3, 4], 7: ‘an integer’}

In [106]: d1[‘b’]
Out[106]: [1, 2, 3, 4]

你可以用检查列表和元组是否包含某个值的方法,检查字典中是否包含某个键:

In [107]: ‘b’ in d1
Out[107]: True

可以用del关键字或pop方法(返回值的同时删除键)删除值。

keys和values是字典的键和值的迭代器方法。虽然键值对没有顺序,这两个方法可以用相同的顺序输出键和值。

用update方法可以将一个字典与另一个融合:

In [119]: d1.update({‘b’ : ‘foo’, ‘c’ : 12})

In [120]: d1
Out[120]: {‘a’: ‘some value’, ‘b’: ‘foo’, 7: ‘an integer’, ‘c’: 12}
update方法是原地改变字典,因此任何传递给update的键的旧的值都会被舍弃。

2. 集合

a. 特性
集合是无序的不可重复的元素的集合。你可以把它当做字典,但是只有键没有值。

b. 创建
可以用两种方式创建集合:通过set函数或使用尖括号set语句:

In [133]: set([2, 2, 2, 1, 3, 3])
Out[133]: {1, 2, 3}

In [134]: {2, 2, 2, 1, 3, 3}
Out[134]: {1, 2, 3}

c. 方法
集合支持合并、交集、差分和对称差等数学集合运算。
合并是取两个集合中不重复的元素。可以用union方法,或者|运算符。

In [137]: a.union(b)
Out[137]: {1, 2, 3, 4, 5, 6, 7, 8}

In [138]: a | b
Out[138]: {1, 2, 3, 4, 5, 6, 7, 8}

交集的元素包含在两个集合中。可以用intersection或&运算符:

In [139]: a.intersection(b)
Out[139]: {3, 4, 5}

In [140]: a & b
Out[140]: {3, 4, 5}

在这里插入图片描述

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

if 条件判断
格式如下:
if 判断条件:
  执行语句…
elif 判断条件:
   执行语句…
else 判断条件:
  执行语句…
#其中elif这部分可选
在这里插入图片描述
while条件判断
格式如下:
while 判断条件:
  执行语句…
注意:容易造成无限循环,判断条件为真,执行语句后,会返回接着判断。

4. 三目表达式

Python中的三元表达式可以将if-else语句放到一行里。语法如下:

value = true-expr if condition else false-expr

true-expr或false-expr可以是任何Python代码。它和下面的代码效果相同:

if condition:
……value = true-expr
else:
……value = false-expr

下面是一个更具体的例子:

In [126]: x = 5

In [127]: ‘Non-negative’ if x >= 0 else ‘Negative’
Out[127]:‘Non-negative’

和if-else一样,只有一个表达式会被执行。因此,三元表达式中的if和else可以包含大量的计算,但只有True的分支会被执行。

虽然使用三元表达式可以压缩代码,但会降低代码可读性。

5. 循环语句

5.1 for循环

for循环是在一个集合(列表或元组)中进行迭代,或者就是一个迭代器。for循环的标准语法是:
在这里插入图片描述

for value in collection:
# do something with value

你可以用continue使for循环提前,跳过剩下的部分。看下面这个例子,将一个列表中的整数相加,跳过None:

sequence = [1, 2, None, 4, None, 5] total = 0 for value in sequence:
if value is None:
continue
total += value

可以用break跳出for循环。下面的代码将各元素相加,直到遇到5:

sequence = [1, 2, 0, 4, 6, 5, 2, 1] total_until_5 = 0 for value in
sequence:
if value == 5:
break
total_until_5 += value

break只中断for循环的最内层,其余的for循环仍会运行。

如果集合或迭代器中的元素序列(元组或列表),可以用for循环将其方便地拆分成变量:

for a, b, c in iterator:
# do something

5.2 while循环
while循环指定了条件和代码,当条件为False或用break退出循环,代码才会退出:
在这里插入图片描述

x = 256
total = 0
while x > 0:
……if total > 500:
…………break
……total += x
……x = x // 2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值