抱歉,你查看的文章不存在

py编程技巧-2.5-如何在一个for语句中迭代多个可迭代队象(并行&串行)?

实际案例:

  1. 某班学生期末考试成绩,语文,数学,英语分布存储在三个列表当中 同时迭代三个列表,计算每个学生的总分
  2. 某年级有四个班,某次考试每班英语成绩分布存储在4个列表中,依次迭代每个列表,统计全年级成绩高于90分的人

解决方案:

并行,采用内置函数zip,它能将多个长度一样的可迭代对象合并,每次迭代返回一个元组 串行,采用标准库里的itertools.chain,它能将多个可迭代对象链接

普通做法:

from random import randint
math = [randint(60,100) for _ in xrange(40)]
english = [randint(60,100) for _ in xrange(40)]

for i in xrange(len(math)):
    print math[i] + english[i]

zip实现并行迭代

from random import randint
math = [randint(60,100) for _ in xrange(40)]
english = [randint(60,100) for _ in xrange(40)]
# zip 

print zip([1,2,3],['a','b','c'],[7,8,9])
# out:[(1, 'a', 7), (2, 'b', 8), (3, 'c', 9)]

for m,e in zip(math,english):
    print m+e

itertools.chain实现多个可迭代对象的链接

from random import randint
from itertools import chain
c1 = [randint(60,100) for _ in xrange(40)]
c2 = [randint(60,100) for _ in xrange(42)]
count = 0
for s in chain(c1,c2):
    if s > 90:
        count +=1
print count

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

编辑于

有趣的Python

0 篇文章106 人订阅

相关文章

来自专栏磐创AI技术团队的专栏

快速学习 Python 的全套 14 张思维导图(附高清版下载)

基础知识图一包括了基本规则、Python语言特点、计算机语言、如何运行Python、变量赋值五个方面,辅助你快速掌握Python编程的基底知识。

2463
来自专栏CDA数据分析师

开工大吉:几个让你月薪3万+的excel神技能

来源:运营圈信息流广告 职场中经常会用到哪些函数? IF函数、SUMIF函数、VLOOKUP函数、SUMPRODUCT函数...... 小编总结了8个在工作中常...

3996
来自专栏大数据

概率数据结构简介

在处理大型的数据集时,我们常常进行一些简单的检查,如稀有项(Unique items)的数量、最常见的项,以及数据集中是否存在某些指定的项。通常的做法是使用某种...

5486
来自专栏CDA数据分析师

提升R代码运算效率的11个实用方法

众所周知,当我们利用R语言处理大型数据集时,for循环语句的运算效率非常低。有许多种方法可以提升你的代码运算效率,但或许你更想了解运算效率能得到多大的提升。本文...

2188
来自专栏懒人开发

(1.1)James Stewart Calculus 5th Edition:Four Ways to Represent a Function

一个曲线,在竖直方向,如果对应的一个x值和曲线相交不止一次,就不是一个函数。(其实可以理解成,上面说的,每个 A集合的元素,都有且有一个B集合中的元素和他对应)

1103
来自专栏TechBox

数据结构与算法系列之时间复杂度前言时间复杂度算法的空间复杂度

1343
来自专栏章鱼的慢慢技术路

牛课堂算法直播题目

2978
来自专栏窗户

有限域(1)

  有限域,顾名思义就是有限的域,我们又称它为Galois域(Galois Field)。

984
来自专栏程序员宝库

LCS 算法:Javascript 最长公共子序列

作者:司徒正美 链接:https://segmentfault.com/a/1190000012864957 最长公共子序列(Longest Common Su...

60610
来自专栏TensorFlow从0到N

讨厌算法的程序员 2 - 证明算法的正确性

第1篇介绍了插入排序算法,这里要提出一个问题:学习算法仅仅是积累一个又一个的算法实现吗? 当然不是。比算法本身更重要也更基础的,是对算法的分析:能够证明其正确...

3615

扫码关注云+社区

领取腾讯云代金券