Python遍历两个列表
发布时间:2020-12-20 12:39:58 所属栏目:Python 来源:网络整理
导读:我在教程中找到了这个很好的陈述: for x,y in [(x,y) for x in listA for y in listB]: 现在,就我而言,我明白,该规则将遍历listA和listB,x是列表A的值,y是listB中的值.但在这个例子中,两个列表具有相同的长度.如果一个列表比另一个列表长,或者我必须使用不
我在教程中找到了这个很好的陈述:
for x,y in [(x,y) for x in listA for y in listB]: 现在,就我而言,我明白,该规则将遍历listA和listB,x是列表A的值,y是listB中的值.但在这个例子中,两个列表具有相同的长度.如果一个列表比另一个列表长,或者我必须使用不同的语句,这个语句是否也会给我所有对? 提前致谢. 解决方法
代码根据您的建议计算笛卡尔积(
itertools.product ),而不是
zip .
例如,如果输入为[1,2,3]和[4,5],则结果为: (1,4) (1,5) (2,4) (2,5) (3,4) (3,5) 为了比较,zip([1,3],[4,5])的结果是: (1,5) 如您所见,zip(或itertools.izip)会丢弃较长参数中的其他项. 其变体itertools.izip_longest用任意值替换这些缺失的元素.例如,iterttools.izip_longest([1,99)返回: (1,99) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |