案例:

  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)

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

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

    是我在看<笨方法学python>过程中发现有一行代码看不懂--" for sentence in snippet, phrase:",所以研究了半天,感觉挺有收获的.所 ...

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

    1.100以内与7相关的数 //100以内与7相关的数: public static void main1(String[] args) { for(int i=1;i<=100;i++){ i ...

  3. python如何在一个for循环中遍历多个列表

    推荐使用python内置函数zip,它可以将x个y维列表变成一个zip对象,将zip对象拆包可以发现它变成了y个x维元组.我们还可以将这个对象变成一个元组或列表.如下所示: 如果是两个列表的zip,我 ...

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

    `其实就是用zip把两个列表包装起来:  for x, y in zip(list1, list2) 

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

    from random import randint a1 = [randint(10, 50) for _ in range(5)] a2 = [randint(10, 50) for _ in r ...

  6. 循环(loop), 递归(recursion), 遍历(traversal), 迭代(iterate)的区别

    表示“重复”这个含义的词有很多, 比如循环(loop), 递归(recursion), 遍历(traversal), 迭代(iterate). 循环算是最基础的概念, 凡是重复执行一段代码, 都可以称 ...

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

    在写JS代码时,我们常常使用 splice 函数来删除数组中的元素,因为 splice 函数会直接对数组进行修改,从而不需再自己写一个算法来移动数组中的其他元素填补到被删除的位置.splice 功能十 ...

  8. 003_循环(loop), 递归(recursion), 遍历(traversal), 迭代(iterate)的区别

    表示“重复”这个含义的词有很多, 比如循环(loop), 递归(recursion), 遍历(traversal), 迭代(iterate). 循环算是最基础的概念, 凡是重复执行一段代码, 都可以称 ...

  9. (转)JS的splice()方法在for循环中的使用问题

    在写JS代码时,我们常常使用 splice 函数来删除数组中的元素,因为 splice 函数会直接对数组进行修改,从而不需再自己写一个算法来移动数组中的其他元素填补到被删除的位置.splice 功能十 ...

随机推荐

  1. SQL Server 禁用扩展存储过程

    概述 扩展存储过程是 SQL Server 实例可以动态加载和运行的 DLL.扩展存储过程是使用 SQL Server 扩展存储过程 API 编写的,可直接在 SQL Server 实例的地址空间中运 ...

  2. webapi 异步返回

    两年前我遇到一个难题: https://q.cnblogs.com/q/78177 WebAPI中使用socket如果在server端回复了再返回值? 现在终于做出一种实现了: [HttpGet]   ...

  3. 给 Android 开发者的一点福利:免费模拟面试

    写在前面 大家好,我是「南尘」,一个爱分享爱学习的 Android 技术控.目前在 GitHub 上有着差不多 6k 的个人项目 Star 数,之前也为其他开源库贡献过大量的源码.在各大博客网站上也有 ...

  4. VS如何设置类或函数前不显示引用的数量

    问题如下: 取消显示这个引用的步骤: 找到菜单栏: 工具 ---> 选项  ---> 文本编辑器 ---> 所有语言 ---> CodeLens 设置取消启用CodeLens, ...

  5. HashTable源码阅读

    环境jdk1.8.0_121 与HashMap有几点区别 在HashMap中,冲突的值会在bucket形成链表,当达到8个,会形成红黑树,而在HashTable中,冲突的值就以链表的形式存储 publ ...

  6. [转]Django时间查询

    1.gt:大于某个时间 now = datetime.datetime.now() 前一天 start = now – datetime.timedelta(hours=23, minutes=59, ...

  7. 【转载】从头编写 asp.net core 2.0 web api 基础框架 (4) EF配置

    Github源码地址:https://github.com/solenovex/Building-asp.net-core-2-web-api-starter-template-from-scratc ...

  8. DOM拓展表格小练习

    涉及的知识点 DOM操作HTML页面.DOM操控表格.一些基本的事件.遍历知识.数组字符串知识.函数的作用域知识 效果图 html代码 <body><div id="con ...

  9. deeplearning.ai 人工智能行业大师访谈 Ian Goodfellow 听课笔记

    1. Ian Goodfellow之前是做神经科学研究,在斯坦福上了Andrew NG的课之后,Ian决定投身AI.在寒假他和小伙伴读了Hinton的论文,然后搭了一台用CUDA跑Boltzmann ...

  10. DFS(dfs)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2212 DFS Time Limit: 5000/2000 MS (Java/Others)    Me ...