【发布时间】:2016-02-13 19:09:43
【问题描述】:
我对 Python 还很陌生,我仍然为我的 ICT 课程做一些基本的事情。
我的任务是创建一个程序来捕捉超速行驶的外国车牌。我已经完成了进出的次数,之后会分配到 10 个不同的车牌号(那一点并不重要)。
为了节省空间,我正在尝试在 Leave 和 Enter 列表上使用 for 命令,希望从 Leave 的项目中取出 Enter 的项目,以获得汽车获得 花费的时间在程序中从相机 A 到 B。
我怎样才能有效地做到这一点?这是我尝试过的东西,虽然我知道为什么会出错,但我在任何地方都找不到解决方案。
import itertools
Enter=[7.12,
7.14,
7.24,
7.45,
7.28,
7.31,
7.18,
7.25,
7.33,
7.38] #A list for the times of cars passing Camera A
Leave=[7.56,
7.24,
7.48,
7.52,
7.45,
7.57,
7.22,
7.31,
7.37,
7.41] #A list for the times of cars passing Camera B
Timestaken=[]
for item in itertools.chain(Leave,Enter):
Timestaken.append(item-item)
print(Timestaken)
我得到的结果是这样的,肯定是因为 for 命令仍然会从同一个项目中取出一个列表的项目???:
>>>
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
【问题讨论】:
-
顺便说一句,通过两个列表中的两个项目,我的意思是找到一种比 Leave[0]-Enter[0]、Leave[1]-Enter[1] 等更快的方法
标签: python list for-loop printing