列出在Python中具有任意数量的变量的理解?
作者:互联网
我要解决的问题是获取集合S,该集合保存X个整数的所有可能排列,以使所有整数均大于0,并且在添加时等于某个Y.
因此,如果X等于2,Y等于5,则可以通过以下列表理解来解决问题:
[(a,b) for a in range(1,5) for b in range(1,5) if a+b==5]
但是,我试图解决任意X和任意Y的问题.我可以将其编写为一系列的if语句,但是我感觉自己非常接近要处理它的简洁列表.有什么办法可以通过列表理解做到这一点?
解决方法:
像这样:
[x for x in itertools.product(*variables) if sum(x)==5]
其中变量是范围的列表/元组
标签:python,list-comprehension 来源: https://codeday.me/bug/20191101/1980944.html