我想使用Python比较列表中的每个可能的对。
假设我有
my_list = [1,2,3,4]
我想对列表中2个元素的每个组合进行操作(我们称其为foo)。
最终结果应与
foo(1,1)
foo(1,2)
...
foo(4,3)
foo(4,4)
我的第一个想法是手动遍历列表两次,但这似乎不是很Python。
product()
在itertools
模块中签出。它完全符合您的描述。
import itertools
my_list = [1,2,3,4]
for pair in itertools.product(my_list, repeat=2):
foo(*pair)
这等效于:
my_list = [1,2,3,4]
for x in my_list:
for y in my_list:
foo(x, y)
编辑:
有两个非常相似的功能,以及,permutations()
和combinations()
。为了说明它们之间的区别:
product()
生成所有可能的元素对,包括所有重复项:
1,1 1,2 1,3 1,4
2,1 2,2 2,3 2,4
3,1 3,2 3,3 3,4
4,1 4,2 4,3 4,4
permutations()
生成每个唯一元素对的所有唯一顺序,从而消除x,x
重复项:
. 1,2 1,3 1,4
2,1 . 2,3 2,4
3,1 3,2 . 3,4
4,1 4,2 4,3 .
最后,combinations()
仅按字典顺序生成每个唯一的元素对:
. 1,2 1,3 1,4
. . 2,3 2,4
. . . 3,4
. . . .
这三个函数都是在Python 2.6中引入的。
问题内容: 我在python中有一个字符串元素列表,想用来编辑元素中的每个元素,所以我有一个新元素。请参见下面的代码(它不起作用,但是您会明白的): 有没有办法做到这一点? 问题答案:
本文向大家介绍javascript实现对表格元素进行排序操作,包括了javascript实现对表格元素进行排序操作的使用技巧和注意事项,需要的朋友参考一下 我们在上网中都能看到很多能够排序的,如大小、时间、价格等 现在我们也试一下排序功能: 排序的函数代码:里面含有点击之后排序--还原,和排升序和降序。 设置表格的背景颜色代码,导入的css: css代码: 效果图-----排序之前: 升序: 降序
问题内容: 我知道可以将一个列表连接成一个长字符串,如下所示: 显然,这将输出: 但是,我想做的就是简单地将列表中的第一个和第二个字符串连接起来,然后连接第三个和第四个字符串,依此类推。简而言之,从上面的示例中取而代之的是: 有没有简单的方法可以做到这一点?我可能还应该提到,列表中字符串的长度以及列表中字符串的数量都是不可预测的,尽管字符串的数量始终是偶数。因此原始列表也可能是: 问题答案: 您可
问题内容: 我有一个小整数列表,说: 我希望收集顺序对并返回一个包含从这些对创建的元组的新列表,即: 我知道必须有一种非常简单的方法来执行此操作,但不能完全解决。 谢谢 问题答案: 好吧,有一种非常简单但有些脆弱的方法,将其自身切片后再压缩。 如果您不知道,最后一个slice参数是“ step”。因此,我们从零(1、3、5)开始选择列表中的第二个项目。然后,我们执行相同的操作,但是从一个(2,4,
本文向大家介绍python3 对list中每个元素进行处理的方法,包括了python3 对list中每个元素进行处理的方法的使用技巧和注意事项,需要的朋友参考一下 在写代码过程中我们常常可能会遇到这样一种情况,要对一个list中的每个元素做同样的操作时,两种方法 方法一:循环遍历每个元素 话不多说,上代码 输出a 方法二:用map函数 但是map函数返回的是一个map类型,所以要想查看值需要把它再
如何对SELECT中的每一行执行附加查询(UPDATE)?我必须从select中获取每一行的金额,并将其发送到用户的余额表。 示例: 我的select语句: 从市场表中选择结果 我们得到7个金额并将其发送到用户余额表。 用户的余额表 Postgres版本9.3