10.4 内置函数--类型转换
- ord() :字符转十进制的数字。
# 将一个字符转换为一个数字 char: str = 'A' print(ord(char)) # 65 print(ord('a')) # 97 复制代码
- chr() :十进制的数字转为一个字符。这个数字在 0~255之间
# 将一个字符转换为一个数字 print(chr(65)) # 'A' print(type(chr(65))) # <class 'str'> # 在 python 中没有字符类型的数据。一个字符也是字符串类型 print(chr(97)) # 'a' 复制代码
- bin() :十进制转为二进制
- oct() : 十进制转为八进制
- hex() :十进制转为十六进制
二进制以0b开头,八进制以0o开头,十六进制以0x开头
# 进制之间的转换 # 十进制转为二进制 num: int = 24 print(bin(num)) # 0b11000 # 十进制转为八进制 print(oct(num)) # 0o30 # 十进制转为十六禁止 print(hex(num)) # 0x18 复制代码
- list(列表) : 将一个元组转换为数组。元组中不可以进行增删改,转换为列表就可以进行增删改了
# 元组转换为列表 tupleList: tuple = (1, 2, 3) print(list(tupleList)) # [1, 2, 3] print(type(list(tupleList))) # <class 'list'> 复制代码
- tuple(元组) :将一个列表转换为元组
# 列表转换为元组 charList: list = [1, 2, 3] print(tuple(charList)) # (1, 2, 3) print(type(tuple(tupleList))) # <class 'tuple'> 复制代码
- dict()函数:用于将普通类型和迭代类型的数据转换为一个字典
# 字典操作 # 使用 dict() 函数创建一个空字典 dic: dict = dict() print(dic) # {} # 向字典中追加元素 dic['name'] = '李四' print(dic) # {'name': '李四'} # 将普通类型数据、迭代类型的数据转为一个字典 # 其实就是创建一个带有数据的字典 dic: dict = {'name': '李四', 'arr': [1, 2, 3], 'tuple': (1, 2, 3)} print(dic) # {'name': '李四', 'arr': [1, 2, 3], 'tuple': (1, 2, 3)} 复制代码
10.5 内置函数--序列操作
属于序列范畴的类型:str、元组、列表
10.5.1 all() 函数
函数定义:
- all()函数:用于判断给定的可迭代参数中所有的元素是否都为True,如果是返回True,否则返回False。除了是0、空、False外都算是True
- 返回值为 bool 类型
函数注意点:
- 只有存在空(None)、Fasle、0的可迭代参数的时候才返回False。其余返回True
- 注意:空元组、空列表返回值是True
- 这个函数有点类似于逻辑运算符中的 and。一假则假
# 序列操作函数 # all()函数:判断一个可迭代参数中是否存在0、空(None)、False元素 # 可迭代参数:列表、字符串、元组 # 测试一个没有元素的可迭代参数 print(all([])) # True print(all(())) # True # 存在空元素的可迭代对象 print(all([1, None])) # False # 存在0元素的可迭代对象 print(all([1, 0])) # False # 存在False元素的可迭代对象 print(all([1, False])) # False 复制代码
10.5.2 any()函数
函数定义:
- any()函数用于判断给定的可迭代参数是否全部为False,如果全部是False,则返回False。否则返回True
- 返回值为 bool 类型
函数注意点:
- 当可迭代参数为空的时候返回Fasle。注意这点和all()函数的区别
- 当可迭代参数只存在0、False、None,不存在其他元素的时候返回False
- 当可迭代参数中国存在除以上类型外的其他元素的时候返回 True
- any()函数类似于逻辑运算符中的 or 运算符
# 序列操作函数 # any()函数:判断一个可迭代参数中是否全部为False # 可迭代参数:列表、集合、元组等等 # 测试一个没有元素的可迭代参数 print(any([])) # False # any()函数中传递一个空列表返回False,和all()区别 # 存在空元素的可迭代对象 print(any([None])) # False # 存在0元素的可迭代对象 print(any([0])) # False # 存在False元素的可迭代对象 print(any([False])) # Fasle # 存在空、0、False的时候为False print(any([False, None, 0])) # False # 存在一个真元素的时候就返回True print(any([0, 1])) # True 复制代码
10.5.3 sorted()函数
函数定义:
- sorted()函数:可以对所有的可迭代对象进行排序操作
sort与sorted的区别:
- sort只应用在列表中,只会对列表进行排序。sorted可以对可迭代的对象进行排序。
- sort是对已经存在的列表进行排序,不会生成新的列表。sorted对列表进行排序之后会返回一个新的列表。
参数:
- 可迭代对象
- reverse。当reverse=False升序排序(默认)。当reverse=True(降序)
重点:不论排序的是什么类型的可迭代对象,最终都会返回一个新的列表
# sorted()函数:对所有可迭代对象进行排序。返回一个新的列表 arr: list = [1, 4, 3, 6, 0, True] # 对lise集合排序,默认是升序排序。会生成一个新的列表 print(sorted(arr)) # [0, 1, True, 3, 4, 6] print(sorted(arr, reverse=False)) # [0, 1, True, 3, 4, 6]。默认是升序排序,省略了 reverse=False # 降序排序 print(sorted(arr, reverse=True)) # [6, 4, 3, 1, True, 0] # 不论可迭代对象是一个什么类型的数据,最终返回的都是一个新的列表 tupleArr: tuple = (1, 4, 3, 6, 0, True) # 升序 print(sorted(tupleArr)) # [0, 1, True, 3, 4, 6] # 降序 print(sorted(tupleArr, reverse=True)) # [6, 4, 3, 1, True, 0] 复制代码
可以传递其他的参数,比如:忽略字符大小写
# 可以忽略大小写排序 注意:这里不是调用的lower()函数,而是lower属性 print(sorted(['a', 'C', 'b', 'D'], key=str.lower)) # ['a', 'b', 'C', 'D'] print(sorted(['a', 'C', 'b', 'D'], key=str.lower, reverse=True)) # ['D', 'C', 'b', 'a'] 复制代码
10.5.4 enumerate()函数
函数定义:
enumerate()函数用将一个可遍历的数据对象(如列表、元组或者字符串)组合成为一个索引序列,同时列出数据和数据下标,一般用在for循环当中。
语法格式:
enumerate(sequence,[start=0])
返回值
返回enumerate(枚举)对象,相当于Java中的枚举类型
# enumerate()函数 # 定义一个列表 listChar: list = ['spring', 'summer', 'fall', 'winter'] assembleListL: enumerate = enumerate(listChar, start=1) print(assembleListL) # <enumerate object at 0x0000022535F4C340> # 使用enumerate()函数给列表中的数据加一个标号 # 直接打印生成的数据,全部输出 for item in enumerate(listChar, start=1): print(item) pass # (1, 'spring') # (2, 'summer') # (3, 'fall') # (4, 'winter') # 指定两个参数,第一个是下标,第二个是下标对应的元素 for k, item in enumerate(listChar, start=1): print(k, item) pass # 1 spring # 2 summer # 3 fall # 4 winter # 定义字典 dictionary: dict = {} dictionary['name'] = '张三' dictionary['age'] = 20 dictionary['sex'] = True print(dictionary) # {'name': '张三', 'age': 20, 'sex': True} # enumerate()函数给字典类型的数据添加下标进行遍历 for item in enumerate(dictionary, start=1): print(item) pass # (1, 'name') # (2, 'age') # (3, 'sex') # 可以使用下标值获取对应的key值进一步获取key对应的value值 for k, item in enumerate(dictionary, start=1): print(dictionary[item]) pass # 张三 # 20 # True