定义一个函数,传入一个字典和一个元组,将字典的值(key不变)和元组的值交换,返回交换后的字典和元组

定义,一个,函数,传入,字典,元组,key,不变,交换,返回 · 浏览次数 : 6

小编点评

**例1:** ```python li = [3, 4, 5] t = (7, 8, 9) print(list(zip(li, t))) print(dict(zip(li, t))) ``` **运行截图:** ``` [(3, 7), (4, 8), (5, 9)] {'name': '小明', 'age': 18, 'sex': '男'} ``` **例2:** ```python li = [1, 2, 3] t = {'name': '小明', 'age': 18, 'sex': '男'} print(dict(zip(li, t))) ``` **运行截图:** ``` {'name': '小明', 'age': 18, 'sex': '男'} ``` **总结:** 在生成内容时,需要使用 `zip()` 函数将可迭代的对象作为参数,并将其元素打包成一个个元组,然后返回由这些元组组成的列表或字典。

正文

知识点:
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表
li=[3,4,5]
t=(7,8,9)
print(list(zip(li,t)))
print(dict(zip(li,t)))

运行截图:

例1:

def f(a,b):
    print(a)
    print(b)
    # 先获取对应的元素
    b_keys=b.keys()  # 获取key
    b_values=b.values() # 获取values
    # zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
    print(list(zip(b_keys,a)))
    print('....................................')
    d=dict((zip(b_keys,a)))  # zip 组成新的一个元组   dict:字典形式
    t=tuple(b_values)
    return d,t

# 上面返回了了几个就需要几个来接受
d,t=f((1,2,3),{'name':'小明','age':18,'sex':'男'})
# print(d,t)
print(d)
print(t)

 运行截图:

例2:不定长参数

def f(*args,**kwargs): # 传入不定长参数
    # print(a)
    # print(b)
    # 先获取对应的元素
    b_keys=kwargs.keys()  # 获取key
    b_values=kwargs.values() # 获取values
    # print(list(zip(d_keys,a)))
    d=dict((zip(b_keys,args)))  # zip 组成新的一个元组   dict:字典形式
    t=tuple(b_values)
    return d,t

# 上面返回了了几个就需要几个来接受
d,t=f(*(1,2,3),**{'name':'小明','age':18,'sex':'男'})
# print(d,t)
print(d)
print(t)

  

与 定义一个函数,传入一个字典和一个元组,将字典的值(key不变)和元组的值交换,返回交换后的字典和元组相似的内容:

定义一个函数,传入一个字典和一个元组,将字典的值(key不变)和元组的值交换,返回交换后的字典和元组

知识点: zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表 li=[3,4,5] t=(7,8,9) print(list(zip(li,t))) print(dict(zip(li,t))) 运行截图: 例1: def f(a,b): p

定义一个函数,可以对传入的数据进行排序,通过一个参数来决定是正向排序还是倒叙排序

一:考察的主要知识点: 类型的转换 :先由元组--字符串--最后到列表实现数据排序(写代码前要梳理好思路) 1. 实现数据排序: def f(*args): # *args 不定长数据 print(args) # 输出的是元组 ('23,45,2,4,5',) print(args[0],type(

创建型:工厂模式-简单工厂

定义 之所以叫简单工厂是因为真的非常简单,只要一个工厂(函数)就可以了,如果把被创建的对象称为产品,把创建产品的对象或者方法称为工厂,那么只需要传入不同的参数,就可以返回不同的产品(实例),这种模式就叫简单工厂模式。 简单工厂-餐馆点菜 工厂模式其实就是将创建对象的过程单独封装在一个工厂中。 它很像

探索FSM (有限状态机)应用

我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品。我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值。。 本文作者:木杪 有限状态机(FSM) 是计算机科学中的一种数学模型,可用于表示和控制系统的行为。它由一组状态以及定义在这些状态上的转换函数组成。FSM 被广泛用于计算

函数的作用域和匿名函数、闭包、回调

一、匿名函数: 1、filter函数,可以过滤出列表中大于3的数据,但是使用都需要提前定义一个函数,有没有更加简便的方式呢? def f(o): # 过滤器 if o>3: print(o) list(filter(f,[3,1,5,9,7,10])) 运行截图: 2、匿名函数(lambda后面是空

08. C语言函数

【函数基础】 函数用于将程序代码分类管理,实现不同功能的代码放在不同函数内,一个函数等于一种功能,其它函数可以调用本函数执行。 C语言规定所有的指令数据必须定义在函数内部,比如之前介绍的程序执行流程控制语句,另外修改全局变量的操作也是通过指令进行的,所以全局变量只能在函数内修改。 数据作用域 定义的

vue3 封装axios

1添加一个新的 http.js文件 封装axios 引入axios //引入Axios import axios from 'axios' 定义一个根地址 //视你自己的接口地址而定 var root2 = 'http://121.4.63.196:8520/api' 定义个小函数来统一参数格式(可

[转帖]【JVM】堆内存与栈内存详解

堆和栈的定义 java把内存分成栈内存和堆内存。 (1)栈内存 在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。 当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另

shell 脚本之一键部署安装 Nginx

今天咸鱼给大家分享个源码编译安装 Nginx 的 shell 脚本 这个 shell 脚本可重复执行 完整源码放在最后 定义一个变量来存放 nginx 版本号 version=1.15.4 nginx 下载地址:http://nginx.org/download/ 下列函数功能则是判断当前步骤是否执

golang interface 和 struct 添加方法的区别

在 Go 语言中,struct 和 interface 都可以关联方法,但它们的方式不同: 1. struct 添加方法: 结构体(struct)本身不直接包含方法,但可以通过定义一个指向该结构体类型的指针作为接收者的函数来为结构体“添加”方法。 type MyStruct struct { //