Python builtins.py -- 内建函数

参考文档:https://docs.python.org/3.8/library/functions.html    (可以考虑在后面加 #xx 直接跳转,比如 https://docs.python.org/3.8/library/functions.html#zip 直接跳转到 zip() 的用法)

1. abs(x)

  用于求绝对值

  参数:数字、浮点数或者复数

  返回:参数为数字或者浮点数,则返回绝对值;参数为复数,则返回复数与共轭复数乘积的平方根

  注意:某复数为 1 + 2j,则共轭复数为 1 - 2j

  例子:abs(1 + 2j) = sqrt((1 + 2j)(1 - 2j)) = sqrt(5)=2.236

  

 2. zip(*iterables)

2.1 说明

  zip() 接收可迭代对象,将这些 iterable(可迭代对象) 压缩成一个 zip 对象,这个对象是一个 iterator(迭代器),每个元素是一个元祖

  参数:可迭代对象,如字符串、列表、元祖、字典、set。参数可以为 0、1、2、...、n 个

  返回:返回一个 zip 对象,是一个iterator (迭代器),每个元素为元祖,其中第 n 个元祖的元素分别来自于各 iterable 的第 n 个元素。遇到最短 iterable 停止

  注意:没有参数时,返回空列表;一个参数时,迭代器每个元素长度为 1,如 (1, );n (n>=2 且为整数) 个参数时,每个元素长度为 n

2.2 例子

 1 li1 = [1, 2, 3, 1]
 2 li2 = [5, 6, 7, 8]
 3 li3 = ['a', 'b', 'c']
 4 li4 = [[1, 2], 3, 4]
 5 str1 = 'python'
 6 tup1 = (10, 20, 30, 40, 50)
 7 di1 = {'o': 'AA', 'p': 'BB', 'q': 'CC'}
 8 
 9 # 1. 没有参数
10 print('没有参数的情况: ', list(zip()))
11 # 2. 1 个参数
12 print('没有参数的情况: ', list(zip(li1)))
13 # 3. 3个参数
14 print('多个参数的情况: ', list(zip(li1, li2, li3)))
15 # 4. 多种类型数据
16 print('结果为: ', list(zip(li1, str1, tup1, di1)))
View Code
1 没有参数的情况:  []
2 没有参数的情况:  [(1,), (2,), (3,), (1,)]
3 多个参数的情况:  [(1, 5, 'a'), (2, 6, 'b'), (3, 7, 'c')]
4 结果为:  [(1, 'p', 10, 'o'), (2, 'y', 20, 'p'), (3, 't', 30, 'q')]
View Result

 2.3 一些场景

  主要是针对转化为字典,当使用 zip 来转化为字典时,需要注意:

    1. zip 需要带两个参数,一个作为 key,另一个作为 value,否则 dict 时会报错,如下面第一张图

    2. 作为 key 的那个 iterable,元素不能为可变对象,否则 dict 时也会报错,如下面第二张图

    3. key 重复时,dict 时会去重,保留最后一个,如下面第三张图  (注意,set 转化时,也会去重)

    4. 只能转化到最短 iterable

    

    

    

2.4 *zip()

  * 用于把 zip() 返回的结果解压

 1 li1 = [1, 2, 3, 1]
 2 li2 = [5, 6, 7, 8]
 3 li3 = ['a', 'b', 'c']
 4 li4 = [[1, 2], 3, 4]
 5 str1 = 'python'
 6 tup1 = (10, 20, 30, 40, 50)
 7 di1 = {'o': 'AA', 'p': 'BB', 'q': 'CC'}
 8 
 9 print(zip(li1, li2))
10 print(list(zip(li1, li2)))
11 print(*zip(li1, li2))
View Code
1 <zip object at 0x00B23848>
2 [(1, 5), (2, 6), (3, 7), (1, 8)]
3 (1, 5) (2, 6) (3, 7) (1, 8)
View Result

 

  

   

 

 

 

 

 

 

  

 

posted @ 2022-07-01 23:18  Lipx9527  阅读(168)  评论(0编辑  收藏  举报