我有一个列表[X, 9, 2, 1, 8, X, 8, 7, 0, 8, 8, 0, 5, 0, 8, 9]
。我希望能够用数字0-9替换每个“X”字符串,并用这些数字生成每个可能组合的列表。你知道吗
我初始化了新的列表,在中附加了旧列表中的项,并使用if语句将“X”替换为新值,但运气不太好。你知道吗
所需的输出是生成每个组合的列表,其中“X”替换为数字0-9。你知道吗
我已经尝试将其转换为字符串,然后使用for循环替换X,如下所示:
unknown = ['X', 9, 2, 1, 8, 'X', 8, 7, 0, 8, 8, 0, 5, 0, 8, 9]
unknown = ''.join(unknown)
for i in range(10):
known = unknown.replace('X', str(i))
x = unknown.replace('X', str(i))
但这并没有给我所有可能的组合。你知道吗
一行就行了。这是Python的力量:
如果希望两个
'X'
具有相同的值,则更容易:从
itertools
使用product
来自itertools进口产品
这将适用于任何数量的X,所以你不需要一直要求这样做你的家庭作业
我建议计算要替换多少元素,然后使用
itertools.product
生成所有组合。你知道吗这是我见过的最难看的一行:
相关问题 更多 >
编程相关推荐