python_如何在一个for循环中迭代多个可迭代对象?

案例:

  1. 某班学生期末考试成绩,语文、数学、英语分别存储在3个列表中,同时迭代三个列表。,计算每个学生的总分(并行)
  2. 某年级有4个班,某次英语成绩分别记录在4个列表中,依次迭代每个列表,统计全年级高于90分人数

如何解决?

  1. 方法1:通过索引

#!/usr/bin/python3

from random import randint

def get_result(chinese, math, english):
    total = []
    # 循环索引进行取值,毕竟列表等长且成绩对应
    for index in range(len(chinese)):
        total.append(chinese[index] + math[index] + english[index])
    return total

if __name__ == ‘__main__‘:
    # 生成 3 个成绩列表
    chinese = [randint(60, 100) for _ in range(40)]
    math = [randint(60, 100) for _ in range(40)]
    english = [randint(60, 100) for _ in range(40)]

    # 统计 总成绩
    total = get_result(chinese, math, english)

    for x in total:
        print(x)

      方法2: 通过zip函数,同时迭代3个列表

#!/usr/bin/python3

from random import randint

def get_result(chinese, math, english):
    total = []
    # 通过zip函数进行迭代,实现同时迭代 3 个对象
    for c, m, e in zip(chinese, math, english):
        print(c, m, e)
        total.append(c + m + e)
    return total

if __name__ == ‘__main__‘:
    # 生成 3 个成绩列表
    chinese = [randint(60, 100) for _ in range(40)]
    math = [randint(60, 100) for _ in range(40)]
    english = [randint(60, 100) for _ in range(40)]

    # 统计 总成绩
    total = get_result(chinese, math, english)

    for x in total:
        print(x)

  2. 方法1: 通过 itertools中 chain方法

#!/usr/bin/python3

from random import randint
from itertools import chain

def get_result(e1, e2, e3):
    # 通过chain函数进行连续窜行迭代3个列表
    for i in chain(e1, e2, e3):
        print(i)

if __name__ == ‘__main__‘:
    # 生成 3 个班成绩单,1班36人,2班43人,3班40人
    e1 = [randint(60, 100) for _ in range(36)]
    e2 = [randint(60, 100) for _ in range(43)]
    e3 = [randint(60, 100) for _ in range(40)]

    # 依次打印成绩
    get_result(e1, e2, e3)
时间: 2024-10-25 12:11:38

python_如何在一个for循环中迭代多个可迭代对象?的相关文章

python 如何在一个for循环中遍历两个列表

是我在看<笨方法学python>过程中发现有一行代码看不懂——“ for sentence in snippet, phrase:”,所以研究了半天,感觉挺有收获的.所以就放在博客上分享给大家了. 直入主题: 为了不耽误大家时间,如果知道以下为两段代码为什么输出不一样的话我觉得您肯定知道我下面要说的是什么了,您就不必花时间再读下去了. 1和2两段代码的区别是print在for循环中,另外一个是不在循环中.输出的结果却截然不同,如果想要弄懂如何遍历两列表,花些时间把下面的几行代码弄懂.我要说的您

java,for循环中的穷举、迭代、冒泡例题

1.100以内与7相关的数 //100以内与7相关的数: public static void main1(String[] args) { for(int i=1;i<=100;i++){ if(i%7==0 || i%10==7 || i/10==7){ System.out.println(i); } } } 2.100以内所有数的和 //100以内所有数的和: public static void main2(String arg[]){ int sum=0; for(int i=1;i

问题13:如何在for语句中迭代多个可迭代的对象

from random import randint a1 = [randint(10, 50) for _ in range(5)] a2 = [randint(10, 50) for _ in range(5)] a3 = [randint(10, 50) for _ in range(5)] a4 = [] 例一:并行操作:在一个for循环中实现多个列表的并行迭代: 方案:使用内置函数zip,将多个迭代对象合并,每次迭代返回一个元组 案例:对3个列表同时迭代,计算各列表对应元素的和: #方

JS的splice()方法在for循环中使用可能会遇到的坑

在写JS代码时,我们常常使用 splice 函数来删除数组中的元素,因为 splice 函数会直接对数组进行修改,从而不需再自己写一个算法来移动数组中的其他元素填补到被删除的位置.splice 功能十分强大,除了可以删除数组的元素之外,还可以删除的同时添加新的元素到删除的位置等等用法.在本篇文章中,我只介绍 splice 的删除数组元素的用法,和在 for 循环中使用 splice 时遇到过的坑,作为记录以免我下次忘记了这个坑. 在使用 splice 之前,必备条件是,要先有一个数组... va

12 在Foreach循环中如何获得当前迭代的索引

static void ForEachIndex() { int curIndex = 0; Dictionary<string, string> diction = new Dictionary<string,string>(); int counter = 0; diction.Add("One", "One"); diction.Add("Two", "Two"); diction.Add(&qu

ES6+ 学习 ----- let 和 const 在for 循环中的使用

在ES6 的规范中,多了两个声明变量的关键字: let 和const.初次学习的时候,只记住了 let 声明的变量只在for 的循环体中有效,循环结束后 变量就消失了, 同时const 也可以在for 循环中声明变量,但是不能用于 常规的for 循环中.所谓的常规for 循环就是for(let i =0; i < 10; i++) 的格式.今天重读了一遍Understanding ECMAScript 6, 算是明白了. 当我们在使用for 循环的时候,每一次的迭代都会重新声明一个变量.像for

iOS开发实用技巧—Objective-C中的各种遍历(迭代)方式

iOS开发实用技巧—Objective-C中的各种遍历(迭代)方式 说明: 1)该文简短介绍在iOS开发中遍历字典.数组和集合的几种常见方式. 2)该文对应的代码可以在下面的地址获得:https://github.com/HanGangAndHanMeimei/Code 一.使用for循环 要遍历字典.数组或者是集合,for循环是最简单也用的比较多的方法,示例如下: 1 //普通的for循环遍历 2 -(void)iteratorWithFor 3 { 4 //////////处理数组/////

matlab循环中显示figure时窗口跳动

在Matlab中,当在一个循环内部利用figure显示图片时,有时候会出现窗口跳动,尤其是两个显示器的时候, 具体就是每次循环中显示的figure的位置都出现在屏幕的不同位置,导致看起来灰常不爽 google了个解决方法: 利用imshow中的parent参数,将axis设置为与上一状态一致. code: figure(1);imshow(img,[],'parent',gca);

Atitit &#160;循环(loop), 递归(recursion), 遍历(traversal), 迭代(iterate).

Atitit  循环(loop), 递归(recursion), 遍历(traversal), 迭代(iterate). 1.1. 循环算是最基础的概念, 凡是重复执行一段代码, 都可以称之为循环. 大部分的递归, 遍历, 迭代, 都是循环.1 1.2. 递归的定义是, 根据一种(几种)基本情况定义的算法, 其他复杂情况都可以被逐步还原为基本情况.1 1.3. 递归的基本概念和特点1 1.4. 迭代(数学): 在循环的基础上, 每一次循环, 都比上一次更为接近结果.2 1.5. 编程语言中的循环