python 范儿编程--花样传参 上|学习笔记

简介: 快速学习 python 范儿编程--花样传参 上

开发者学堂课程【高校精品课-华东师范大学 - 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 。

image.gif然后这个 Zip 函数函数执行的结果本身也是一个对象,叫 Zip 函数的对象,如果我们直接同意的话,看不到里面内容的,它只显示一个 Zip 对象。运行后,显示如下:

image.gif要想看这个最后 Zip 对象里面内容的话,用内置的 list 的函数,把它转成真正的列表,然后再看列表里面的内容就可以了。

image.gifPrint ( z0 ), z0 已经把 Zip 对象转成列表了,列表内容在【】中,内容为一个个小元组,元组里面的元素就是上面两个列表对应的元素,像拉链一样拉在一起。

image.gif执行:

image.gif5、扩展:取回原来的列表内容

已知 z0 是一个列表,里面有四个元组,用四个变量取这四个值

image.gif取完以后输出了 choice 1, choice 2,输出里面的内容

image.gif然后也可以通过 Zip 函数,把这4个元祖再把它拉在一起,  print 一下以后,还是一个 Zip 对象。


二、星号与 Zip 对象组合使用

1、注意:如果用星号和choice放在一起,那么它不是 choice 本身来做参数,而是把choice里面的内容作为参数来传递。

2、星号功能:花样传参。

以前函数里面传参数就是具体的参数,当用星号以后等于就是花样传参,它用这个变量里面的内容来传参。

3、例子:

Your choice 本身是一个 Zip 对象,用星号把里面的内容给拿出来,然后又用 Zip 将其拉在一起。

image.gif*告诉Python即将传入的参数 Yourchoice 不是单独一个序列,而是把 Yourchoice 中的每一项作为参数从下面的字典里按值来排序,取到值最大或者值最小的那条记录。

字典例子: Base Damage 是一个字典,里面有一个 keys ,一个 values 。用 Zip 函数将字典里面的 values 取值,将 keys 放在后面,两个拉在一起,由于 Zip 函数同时有 enumerate 和排序功能,所以用 Max 函数来取拉好的内容中的最大值,因为它可以看 values 中值的大小,然后用Min 函数取最小值。输出: Zip 对象,最大值65,最小值48。

image.gif这个例子可以加深理解 Zip 对象, Zip 函数既有拉链的这种概念,又有enumerate 的概念,又有排序的概念。

相关文章
|
存储 缓存 运维
基础篇丨链路追踪(Tracing)其实很简单
基础篇丨链路追踪(Tracing)其实很简单
基础篇丨链路追踪(Tracing)其实很简单
|
架构师 测试技术 持续交付
接口测试这件小事
接口测试这件小事
2413 0
接口测试这件小事
|
C++ 算法
C++程序设计-第七周上机实践项目
  回到课程主页,链接:C++程序设计课程主页-2012级   本周教学内容:第1章   C++的初步知识。通过两个典型的程序(求大值和输出星号图),获得分支和循环结构程序设计的直接体验,使学生能够通过模仿,编写出类似的程序。   上机目的:初步体验分支结构和循环结构的程序设计   上机内容:(1)求两个正整数的正差值;(2)输出四个整数中的最大值;(3)输出各大式星号图。 项目1:分支结构
1292 0
|
2天前
|
搜索推荐 编译器 Linux
一个可用于企业开发及通用跨平台的Makefile文件
一款适用于企业级开发的通用跨平台Makefile,支持C/C++混合编译、多目标输出(可执行文件、静态/动态库)、Release/Debug版本管理。配置简洁,仅需修改带`MF_CONFIGURE_`前缀的变量,支持脚本化配置与子Makefile管理,具备完善日志、错误提示和跨平台兼容性,附详细文档与示例,便于学习与集成。
254 116
|
17天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
11天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
650 220