擅长:python、mysql、java
<p>懒惰已经解决了你当前的问题。我只想补充一点,“并行列表”是一种反模式,如果它们不是严格本地的,则更是如此——如果代码的任何其他部分以意外的方式接触到其中一个列表(排序、反转、推到列表或从列表中弹出等),则所有赌注都被取消</p>
<p>更好的设计是元组、dict或数据类的列表,即:</p>
<pre><code># brittle
foos = ["a", "b", "c"]
bars = [1, 2, 3]
for i in range(3):
print("{} : {}" .format(foos[i], bars[i]))
# more robust
foobars = [("a", 1), ("b", 2), ("c", 3)]
for foo, bar in foobars:
print("{} : {}".format(foo, bar))
# more robust and more explicit:
foobars = [{"foo": "a", "bar": 1}, {"foo":"b", "bar": 2}, ("foo": "c", "bar:3}]
for foobar in foobars:
print("{} : {}".format(foobar["foo"], foobar["bar"]))
</code></pre>
<p>此外,如果您的“列表”应该是固定大小的(在您的示例中,所有内容的长度似乎都是4),那么您可能需要定义自己的专用容器类,这将强制集合的大小(可能还有其他不变量)</p>