开发者学堂课程【高校精品课-华东师范大学 - Python 数据科学基础与实践:python 范儿编程--花样传参 上】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1067/detail/15352
python 范儿编程--花样传参 上
内容分析:
一、 Zip 函数(拉链函数)
二、星号与 Zip 对象组合使用
一、 Zip 函数(拉链函数)
1、形象地理解一下拉链衣服上的拉链,两排拉链然后拉在一起。
星号*:拉链函数经常会和一个星号或者两个星号组合在一起使用。
一个星号表示传源对参数。
两个星号表示传递关键字型参数,参数是1。关键字的形式也就是 key、values 一对的形式。
2、复习:
⑴ enumerate :返回生成器,生成器每次给出下标和lterable内容.(返回一个数据结构里面的缩影和元素)
⑵ sorted :返回一个列表,对内容进行排序
3、 Zip 函数含义:长度相同的列表(不止两个,最少两个)当成数据列组成的数据表返回一个包含元组的列表,每个元组是数据表中的一行。
⑴ Zip 函数除了它可以拉链对齐之外,同时有 enumerate 和排序功能
⑵列表中的每一个元素是元组。
⑶元组中的内容是来自于几个列表相对其的那个位置的元素
4、例子
这里有两个列表变量,一个是 war 3,一个是 dota ,它里面的内容在等号右侧。列表长度应该是一样的。然后我们后面可以把对齐的位置的元素拉在一起。然后是 Your choice 后面用 Zip 函数来执行,把两个列表内容给它合并在一起,传进来的就是一个 war 3,一个 dota 。
然后这个 Zip 函数函数执行的结果本身也是一个对象,叫 Zip 函数的对象,如果我们直接同意的话,看不到里面内容的,它只显示一个 Zip 对象。运行后,显示如下:
要想看这个最后 Zip 对象里面内容的话,用内置的 list 的函数,把它转成真正的列表,然后再看列表里面的内容就可以了。
Print ( z0 ), z0 已经把 Zip 对象转成列表了,列表内容在【】中,内容为一个个小元组,元组里面的元素就是上面两个列表对应的元素,像拉链一样拉在一起。
执行:
5、扩展:取回原来的列表内容
已知 z0 是一个列表,里面有四个元组,用四个变量取这四个值
取完以后输出了 choice 1, choice 2,输出里面的内容
然后也可以通过 Zip 函数,把这4个元祖再把它拉在一起, print 一下以后,还是一个 Zip 对象。
二、星号与 Zip 对象组合使用
1、注意:如果用星号和choice放在一起,那么它不是 choice 本身来做参数,而是把choice里面的内容作为参数来传递。
2、星号功能:花样传参。
以前函数里面传参数就是具体的参数,当用星号以后等于就是花样传参,它用这个变量里面的内容来传参。
3、例子:
Your choice 本身是一个 Zip 对象,用星号把里面的内容给拿出来,然后又用 Zip 将其拉在一起。
*告诉Python即将传入的参数 Yourchoice 不是单独一个序列,而是把 Yourchoice 中的每一项作为参数从下面的字典里按值来排序,取到值最大或者值最小的那条记录。
字典例子: Base Damage 是一个字典,里面有一个 keys ,一个 values 。用 Zip 函数将字典里面的 values 取值,将 keys 放在后面,两个拉在一起,由于 Zip 函数同时有 enumerate 和排序功能,所以用 Max 函数来取拉好的内容中的最大值,因为它可以看 values 中值的大小,然后用Min 函数取最小值。输出: Zip 对象,最大值65,最小值48。
这个例子可以加深理解 Zip 对象, Zip 函数既有拉链的这种概念,又有enumerate 的概念,又有排序的概念。








