1、zip函数
zip()
函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。
2、案例演示
关于电影票房的数据我是在艺恩-数据智能服务商-年度票房中找的,给大家一个参考链接艺恩-数据智能服务商-年度票房
str=''' 1 穿过寒冬拥抱你 剧情 61,181 42 9 中国 2021-12-31 2 反贪风暴5:最终章 动作 44,303 41 8 中国/中国香港 2021-12-31 3 李茂扮太子 喜剧 42,439 39 8 中国 2022-01-01 4 误杀2 剧情 22,984 39 8 中国 2021-12-17 5 以年为单位的恋爱 剧情 13,979 38 6 中国 2021-12-31 6 爱情神话 爱情 13,179 45 9 中国 2021-12-24 7 黑客帝国:矩阵重启 动作 7,479 38 3 美国 2022-01-14 8 雄狮少年 动画 7,441 40 8 中国 2021-12-17 9 魔法满屋 动画 6,095 38 6 美国 2022-01-07 10 汪汪队立大功大电影 动画 5,068 32 5 美国 2022-01-14 '''
我选了10个数据,经过自己稍作整理:
filmnames=['穿过寒冬拥抱你','反贪风暴5:最终章','李茂扮太子','误杀2','以年为单位的恋爱','爱情神话','黑客帝国:矩阵重启','雄狮少年','魔法满屋','汪汪队立大功大电影'] filmareas=['中国','中国/中国香港','中国/中国台湾','中国','中国/中国澳门','中国台湾','英国','澳大利亚','美国','美国'] filmboos=['61,181','44,303','42,439','22,984','13,979','13,179','7,479','7,441','6,095','5,068'] filmtypes=['剧情','动作','喜剧','剧情','剧情','爱情','动作','动画','动画','动画']
先写一个循环看看:
for filmname in filmnames: print(filmname)
for filmboo in filmboos: print(filmboo)
for filmarea in filmareas: print(filmarea)
使用循环,创建变量irank
加上序号:
irank=1 for filmname in filmnames: print(irank,filmname) irank+=1
使用打包函数zip:
for index,filmname,filmarea,filmtype,filmboo in zip(range(10),filmnames,filmareas,filmtypes,filmboos): print(index+1,filmname,filmarea,filmtype,' 当前电影票房:',filmboo)
变化一下格式,使之更加美观:
for index,filmname,filmarea,filmtype,filmboo in zip(range(10),filmnames,filmareas,filmtypes,filmboos): print(f"{index+1}. 《{filmname}》上映地区:{filmarea},电影类型:{filmtype},当前电影票房:{filmboo}" )
还可以将zip()
函数与np
结合输出:
import numpy as np for irank,filmname,filmarea,filmtype,filmboo in zip(np.arange(1,len(filmnames)+1),filmnames,filmareas,filmtypes,filmboos): print(f"{irank}. 《{filmname}》上映地区:{filmarea},电影类型:{filmtype},当前电影票房:{filmboo}" )
注意:这里是len(filmnames)+1
,即要加1,因为:
np.arange(1,len(filmnames))
得到的结果只有9,因此10部电影要+1
除了zip()
函数之外,还可以使用枚举函数 enumerate()
enumerate()
不仅可以将对应的可迭代对象进行提取,并且将对应的索引进行提取- 使用
enumerate
的前提是电影票房,上映地区等等都要一一对应
for idex,filmname in enumerate(filmnames): #枚举函数的作用 print(idex+1,filmname)
for index,filmname in enumerate(filmnames): print(f"{index+1}. 《{filmname}》上映地区:{filmareas[index]},电影类型:{filmtypes[index]},当前电影票房:{filmboos[index]}" )