我刚刚开始使用python,我无法弄清楚并行列表的含义 任何信息都会很棒。我认为它只是使用两个列表来存储信息
答案 0 :(得分:4)
“并列列表”是术语“parallel array”的变体。我们的想法是,不是拥有单个数组/列表/记录集合(具有属性的对象,在Python术语中),而是为概念记录的每个字段提供单独的数组/列表/集合。
例如,您可以拥有姓名,年龄和职业的人员记录:
people = [
Person(name='Bob', age=38, occupation=PROFESSIONAL_WEASEL_TRAINER),
Person(name='Douglas', age=42, occupation=WRITER),
# etc.
]
或者你可以为每个属性提供“并行列表”:
names = ['Bob', 'Douglas', ...]
ages = [38, 42, ...]
occupations = [PROFESSIONAL_WEASEL_TRAINER, WRITER, ...]
这两种方法都存储相同的信息,但根据您正在做的事情,处理比另一种更有效。如果您想要对给定集合进行“注释”而不实际修改原始集合,那么使用并行集合也很方便。
(并行数组在不支持正确记录但支持数组的语言中也很常见,就像许多版本的8位机器的BASIC一样。)
答案 1 :(得分:0)
术语“并行列表”不存在。也许你在谈论并行迭代两个列表。然后它意味着你在同一时间迭代它们。有关详情,请阅读“how can I iterate through two lists in parallel in Python?”。
答案 2 :(得分:0)
如果您尝试迭代两个或多个列表中的相应项目,请参阅itertools.izip
(如果您使用的是Python 3,则只需使用内置zip
。)
答案 3 :(得分:0)
我唯一一次看到这个术语的使用就是我使用Haskell的时候。见这里:
http://www.haskell.org/ghc/docs/5.00/set/parallel-list-comprehensions.html
基本上python等价物是:
[(x,y) for x in range(1,3) for y in range(1,3)]
答案 4 :(得分:0)
它有时指的是两个元素相对应的列表。 See this SO question