有一个代码可以输出将一个列表的每个元素除以另一个列表的每个元素所得的余数:
nums = [6, 63, 10, 27, 10, 4, 7]
ost = [3, 7, 9]
x = list(map(lambda x,y: x%y, nums, ost))
因此,此代码的作用是找到用 nums 列表的第一个元素除以 ost 列表的第一个元素后的余数,然后找到用 nums 列表的第二个元素除以 ost 列表的第二个元素后的余数,我需要它像这样找到余数:取 nums 列表的第一个元素,并找到用 ost 列表的每个元素除后的余数,例如:从 nums 列表中取出 6,然后开始查找余数:6 % 3、6 % 7、6 % 9,然后是下一个元素。如何在不使用 for 循环的情况下在一行中完成此操作?
附言代码的作用:
6 % 3
63 % 7
10 % 9
我应该怎么办:
6 % 3
6 % 7
6 % 9
63 % 3
63 % 7
63 % 9
ETC。
这是对MBo 的评论(itertools.product)中的想法和Rustam Rysaev 的回答的重新组合:
结论:
要在一行中完成此操作并且不使用 for(但使用嵌套迭代,例如在 map 中),您可以执行以下操作: