python - 循环抛出两个列表,我想从每个列表中弹出
问题描述
我有两个清单:
revenue_list_per_day = [3.750525, 3.751132, 3.750959, 3.750447]
day_list = [datetime.date(2021, 4, 20), datetime.date(2021, 4, 21), datetime.date(2021, 4, 22), datetime.date(2021, 4, 23)]
for i in revenue_list_per_day:
revenue_list_per_day.pop(0)
for n in day_list:
day_list.pop(0)
print(i,n)
输出 =>
3.750525 2021-04-20
3.750525 2021-04-22
3.750959 2021-04-22
预期 =>
3.750525 2021-04-20
3.751132 2021-04-21
3.750959 2021-04-22
3.750447 2021-04-23
你觉得我应该怎么做?
解决方案
您可以简单地使用zip()
内置函数:
for revenue, date in zip(revenue_list_per_day, day_list):
print(revenue, date)
就这样 !但如果你喜欢很长的路,这里有一个:
for i in range(len(revenue_list_per_day)):
print(revenue_list_per_day[i], day_list[i])
尽管它有一个缺点,即如果两个列表(revenue_list_per_day 和 day_list)的长度不同,但它会做同样的事情,终端会抛出错误。
但是,使用该zip()
功能,它不会因为:
当最短的输入迭代用完时,迭代器停止。
正如文件所说。
推荐阅读
- python - Pycharm 自动导入没有遵循最佳实践?
- java - 检查数据库中存在的大量字符串的有效方法
- javascript - 如何使用 Node.js 和 express 在 PostgreSQL 中不使用方括号换行来获取对象?
- node.js - Restful Api express postgres 数据库
- kubernetes - Kubernetes coredns pod 卡在 Pending 状态。无法启动仪表板
- scala - Scala 编译器扩展类型
- node.js - How do i create a public ledger using blockchain for my application?
- ionic-framework - @types/node@^8.0.7 的 npm WARN tarball tarball 数据似乎已损坏
- eclipse - 如何获取已执行的 Datatable 行的每一行的状态
- amazon-web-services - 将 awslogs 与 kubernetes '本机'结合使用