公共方法
5.1 Python 内置函数
Python 包含了以下内置函数:
| 函数 | 描述 | 备注 |
|---|---|---|
| len(item) | 计算容器中元素个数 | |
| del(item) | 删除变量 | del 有两种方式 |
| max(item) | 返回容器中元素最大值 | 如果是字典,只针对 key 比较 |
| min(item) | 返回容器中元素最小值 | 如果是字典,只针对 key 比较 |
| cmp(item1, item2) | 比较两个值,-1 小于/0 相等/1 大于 | Python 3.x 取消了 cmp 函数 |
注意
-
5.2 切片
| 描述 | Python 表达式 | 结果 | 支持的数据类型 | | —- | —- | —- | —- | | 切片 | “0123456789”[::-2] | “97531” | 字符串、列表、元组 |
切片 使用 索引值 来限定范围,从一个大的 字符串 中 切出 小的 字符串
- 列表 和 元组 都是 有序 的集合,都能够 通过索引值 获取到对应的数据
- 字典 是一个 无序 的集合,是使用 键值对 保存数据
5.3 运算符
| 运算符 | Python 表达式 | 结果 | 描述 | 支持的数据类型 | | —- | —- | —- | —- | —- | | + | [1, 2] + [3, 4] | [1, 2, 3, 4] | 合并 | 字符串、列表、元组 | | | [“Hi!”] 4 | [‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’] | 重复 | 字符串、列表、元组 | | in | 3 in (1, 2, 3) | True | 元素是否存在 | 字符串、列表、元组、字典 | | not in | 4 not in (1, 2, 3) | True | 元素是否不存在 | 字符串、列表、元组、字典 | | > >= == < <= | (1, 2, 3) < (2, 2, 3) | True | 元素比较 | 字符串、列表、元组 |
注意
| 运算符 | 描述 | 实例 |
|---|---|---|
| in | 如果在指定的序列中找到值返回 True,否则返回 False | 3 in (1, 2, 3) 返回 True |
| not in | 如果在指定的序列中没有找到值返回 True,否则返回 False | 3 not in (1, 2, 3) 返回 False |
5.4 完整的 for 循环语法
在 Python 中完整的 for 循环 的语法如下:
for 变量 in 集合:循环体代码else:没有通过 break 退出循环,循环结束后,会执行的代码
应用场景
在迭代遍历嵌套的数据类型时,例如一个列表包含了多个字典
- 需求:要判断 某一个字典中 是否存在 指定的 值
- 如果 存在,提示并且退出循环
- 如果 不存在,在 循环整体结束 后,希望 得到一个统一的提示 ```python students = [ {“name”: “阿土”, “age”: 20, “gender”: True, “height”: 1.7, “weight”: 75.0}, {“name”: “小美”, “age”: 19, “gender”: False, “height”: 1.6, “weight”: 45.0}, ]
find_name = “阿土”
for stu_dict in students:
print(stu_dict)# 判断当前遍历的字典中姓名是否为find_nameif stu_dict["name"] == find_name:print("找到了")# 如果已经找到,直接退出循环,就不需要再对后续的数据进行比较break
else: print(“没有找到”)
print(“循环结束”)
<a name="cFlar"></a>## 集合集合(set)是一个无序的不重复元素序列。<br />可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。<br />创建格式:```pythonparame = {value01,value02,...}或者set(value)
实例(Python 3.0+)
类似列表推导式,同样集合支持集合推导式(Set comprehension):
实例(Python 3.0+)
>>>a = {x for x in 'abracadabra' if x not in 'abc'}>>> a{'r', 'd'}
1、添加元素
语法格式如下:
s.add( x )
将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作。
>>>thisset = set(("Google", "Runoob", "Taobao"))>>> thisset.add("Facebook")>>> print(thisset){'Taobao', 'Facebook', 'Google', 'Runoob'}
还有一个方法,也可以添加元素,且参数可以是列表,元组,字典等,语法格式如下:
s.update( x )
2、移除元素
语法格式如下:
s.remove( x )
3、计算集合元素个数
语法格式如下:
len(s)
4、清空集合
语法格式如下:
s.clear()
5、判断元素是否在集合中存在
语法格式如下:
x in s
判断元素 x 是否在集合 s 中,存在返回 True,不存在返回 False。
集合内置方法完整列表
| 方法 | 描述 | |
|---|---|---|
| add() | 为集合添加元素 | |
| clear() | 移除集合中的所有元素 | |
| copy() | 拷贝一个集合 | |
| difference() | 返回多个集合的差集 | |
| difference_update() | 移除集合中的元素,该元素在指定的集合也存在。 | |
| discard() | 删除集合中指定的元素 | |
| intersection() | 返回集合的交集 | |
| intersection_update() | 删除集合中的元素,该元素在指定的集合中不存在。 | |
| isdisjoint() | 判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。 | |
| issubset() | 判断指定集合是否为该方法参数集合的子集。 | |
| issuperset() | 判断该方法的参数集合是否为指定集合的子集 | |
| pop() | 随机移除元素 | |
| remove() | 移除指定元素 | |
| symmetric_difference() | 返回两个集合中不重复的元素集合。 | |
| symmetric_difference_update() | 移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。 | |
| union() | 返回两个集合的并集 | |
| update() | 给集合添加元素 |
