我迷失在python中的嵌套while循环中。
我有
a = 1,b = 1,c = 1,d = 1
我希望将a,b,c和d增加到16,但是逐个增加,我的意思是:
1 2 3 4然后1 3 4 5然后1 4 5 6 ... 1 14 15 16然后2 3 4 5 ...最多16 15 14 13我们必须避免2个相同的数字,如1 2 2 3。
我没有成功准备我的嵌套while循环。请帮忙!
由于
答案 0 :(得分:1)
如果你只想要1个16的4个值的所有组合,你可以使用:
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" encoding="UTF-8"/>
<xsl:template match="/">
<xsl:text>transitLine transitRoute routeProfile
</xsl:text>
<xsl:for-each select="//transitLine">
<xsl:value-of select="concat(' ', @id,'
')"/>
<xsl:for-each select="transitRoute">
<xsl:value-of select="concat(' ', @id,'
')"/>
<xsl:for-each select=".//stop">
<xsl:value-of select="concat(' ',
@refId,'
')"/>
</xsl:for-each>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
</xsl:transform>
这会产生:
from itertools import combinations
for a, b, c, d in combinations(range(1, 17), 4):
print(a, b, c, d)
答案 1 :(得分:0)
使用itertools.combinations
:
for a, b, c, d in itertools.combinations(range(1,17), 4):
do_something