公共方法

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 函数

注意

  • 字符串 比较符合以下规则: “0” < “A” < “a”

    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 在对 字典 操作时,判断的是 字典的键
  • in 和 not in 被称为 成员运算符

    成员运算符

    成员运算符用于测试序列中是否包含指定的成员
运算符 描述 实例
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 循环 的语法如下:

    1. for 变量 in 集合:
    2. 循环体代码
    3. else:
    4. 没有通过 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:

  1. print(stu_dict)
  2. # 判断当前遍历的字典中姓名是否为find_name
  3. if stu_dict["name"] == find_name:
  4. print("找到了")
  5. # 如果已经找到,直接退出循环,就不需要再对后续的数据进行比较
  6. break

else: print(“没有找到”)

print(“循环结束”)

  1. <a name="cFlar"></a>
  2. ## 集合
  3. 集合(set)是一个无序的不重复元素序列。<br />可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。<br />创建格式:
  4. ```python
  5. parame = {value01,value02,...}
  6. 或者
  7. set(value)

实例(Python 3.0+)

类似列表推导式,同样集合支持集合推导式(Set comprehension):

实例(Python 3.0+)

  1. >>>a = {x for x in 'abracadabra' if x not in 'abc'}
  2. >>> a{'r', 'd'}

集合的基本操作

1、添加元素

语法格式如下:
s.add( x )
将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作。

  1. >>>thisset = set(("Google", "Runoob", "Taobao"))
  2. >>> thisset.add("Facebook")
  3. >>> print(thisset)
  4. {'Taobao', 'Facebook', 'Google', 'Runoob'}

还有一个方法,也可以添加元素,且参数可以是列表,元组,字典等,语法格式如下:

  1. s.update( x )

2、移除元素

语法格式如下:

  1. s.remove( x )

3、计算集合元素个数

语法格式如下:

  1. len(s)

计算集合 s 元素个数。

4、清空集合

语法格式如下:

  1. s.clear()

5、判断元素是否在集合中存在

语法格式如下:

  1. 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() 给集合添加元素