首页 > 其他分享 >字典推导式

字典推导式

时间:2024-03-03 20:00:09浏览次数:24  
标签:推导 迭代 dic lst enumerate print 字典

字典推导式

字典推导式是一种简洁的构造字典的方式。它的语法和列表推导式类似,只不过结果是一个字典,而不是列表。

enumerate函数

enumerate函数可以将一个可迭代对象转化为一个枚举对象,其中每个元素都是一个包含索引和值的元组。它的基本语法如下:

enumerate(iterable, [start=0])
#其中,`iterable`是一个可迭代对象,`start`是索引的起始值。
from collections import Iterator, Iterable
lst = ["王文", "吕洞宾", "何仙姑", "铁拐李", "张国老", "曹国舅", "蓝采和", "韩湘子"]
it = enumerate(lst, start=100)
print(isinstance(it, Iterator))  # 检查it是否为迭代器

我们可以使用字典推导式配合enumerate函数来创建字典:

dic = {k: v for k, v in enumerate(lst, start=100)}
print(dic)

或者,我们可以直接使用dict函数来将枚举对象转化为字典:

dic = dict(enumerate(lst, start=100))
print(dic)

zip

zip函数可以将多个可迭代对象中的元素按照索引配对,形成一个新的迭代器。它的基本语法如下:

zip(iterable1, iterable2, ...)

其中,iterable1, iterable2等是可迭代对象。

以下是一个示例:

lst_key = ["ww", "axd", "yyt"]
lst_val = ["王维", "安晓东", "杨元涛"]

dic = {k: v for k, v in zip(lst_key, lst_val)}
print(dic)

或者,我们可以直接使用dict函数来将配对的元素转化为字典:

dic = dict(zip(lst_key, lst_val))
print(dic)

# 在索引下标同时存在时,才会进行配对,否则舍弃.
lst1 = ["孙开启","王永飞","于朝志"]
lst2 = ["薛宇健","韩瑞晓"]
lst3 = ["刘文博"]

标签:推导,迭代,dic,lst,enumerate,print,字典
From: https://www.cnblogs.com/wbcde116/p/18050591

相关文章

  • 集合推导式
    集合推导式集合推导式是一种简洁的构造集合的方式。它的语法和列表推导式类似,只不过结果是一个集合,而不是列表。以下是一个示例,其中我们要根据一组人的年龄和存款量来决定给他们发放哪种类型的卡。我们要统计所有可能的卡类型。lst=[{"name":"赵沈阳","age":18,"money":......
  • 列表推导式
    推导式推导式是通过一行循环判断遍历出一些列数据的方法。语法:valforvaliniterable#创建一个包含1到50的列表:lst=[iforiinrange(1,51)]print(lst)带有运算操作的推导式创建一个列表,其中每个元素都是原始列表中对应元素的两倍:lst=[i*2foriinrange(1,6)......
  • python推导式(comprehension)
    #推导式#1.zip()函数##功能:将多个迭代器Iterator对象或者可迭代对象中的元素压缩在一起,返回一个zip对象##zip对象既是一个可迭代对象也是一个迭代器对象names=["Tony","Tom","Gray","Lisa"]grades=[11,22,31,21]chart1=zip(names,grades)print(list(ch......
  • C++填坑系列——EffectiveModernC++之类型推导
    接下来会记录我在学习《EffectiveModernC++》的一些总结和思考。鉴于C++的知识太多了,我难以全面覆盖到学习,所以这里借此来补充和发散自己的学习心得:)以下内容由学习这个网站EffectiveModernC++的中文翻译内容得来https://cntransgroup.github.io/EffectiveModernCppChine......
  • C++填坑系列——类型推导 decltype
    decltypedecltype主要是为了解决类型推导的问题,特别是在模板编程和泛型编程中应用较广泛。decltype关键字用于以表达式为参数,推导表达式返回的类型,该类型会保留所有信息。c++11提出的新特性,decltype关键字。和auto一样都是用来做编译时类型推导的,但是也有一些区别:auto:从......
  • 字典常用
    当然,我可以帮你将这些Python代码转化为Markdown格式的笔记。以下是你的Markdown笔记:Python中的字典操作字典是Python中的一种数据类型,它存储的是键值对。字典的键必须是不可变的数据类型,如整数、浮点数、字符串、元组等,而值可以是任何类型的数据。1.增加元素dic={}dic["t......
  • python列表、集合、字典转换要点以及查找速度区别,如何在大规模数据中实现快速查找
    1.list与set的区别与优缺点:循环速度:list最适合做固定长度的遍历,而且有顺序。set是无序的,list转换为set会乱序,若用set给list去重,转化为list时须用原list的index排序:new_list.sort(key=old_list.index)。所以这种循环尽量用list查询速度:set>list,set查询的key都是ha......
  • pandas df 将两列转换为字典格式
    修改df列名importpandasaspdimportjsondata={'keys':['a','b','c','d'],'values':[1,2,3,4]}columns_mapping={'keys':'keys11','values':�......
  • Python中字典setdefault()方法和append()的配合使用
    1.setdefault()方法语法dict.setdefault(key,default=None)说明:如果字典中包含给定的键值,那么返回该键对应的值。否则,则返回给定的默认值。Syntax:dict.setdefault(key,default_value)Parameters:Ittakestwoparameters:key–Keytobesearchedinthedictionar......
  • C#数据结构 字典Dictionary
    简介字典是C#开发中经常使用的一种键值对容器,类似C++的map,可使用foreach或迭代器遍历不能装多个相同key,底层实现是哈希函数具体用法1.创建Dictionary<key,value>//Key和Value可以是任意类型Dictionary<int,string>_testDic=newDictionary<int,string>();2.添加......