Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中取消列出以使用itertools.product_Python_List_Product - Fatal编程技术网

在Python中取消列出以使用itertools.product

在Python中取消列出以使用itertools.product,python,list,product,Python,List,Product,所以我已经尝试了一段时间了,但我似乎找不到解决办法。。也许你能帮忙! 我正在尝试“取消”列表列表,以便在itertools.product()中使用它们。 您可能知道,itertools.product()可以接收多个iterable。假设我得到了这个列表: x=[[1,2,3],["a"],["B","C"]] 如果我们将其放入itertools.product(): 我们将收到 ([1, 2, 3],) (['a'],) (['B', 'C'],) 我需要的帮助是找到一种“取消列出”x的

所以我已经尝试了一段时间了,但我似乎找不到解决办法。。也许你能帮忙! 我正在尝试“取消”列表列表,以便在
itertools.product()
中使用它们。 您可能知道,
itertools.product()
可以接收多个iterable。假设我得到了这个列表:

x=[[1,2,3],["a"],["B","C"]]
如果我们将其放入
itertools.product()

我们将收到

([1, 2, 3],)
(['a'],)
(['B', 'C'],)
我需要的帮助是找到一种“取消列出”x的方法,因此在itertools.product()中有3个iterables,如下所示:

for i in product([1,2,3],["a"],["B","C"]):
print i
将打印:

(1, 'a', 'B')
(1, 'a', 'C')
(2, 'a', 'B')
(2, 'a', 'C')
(3, 'a', 'B')
(3, 'a', 'C')

只需使用*运算符(有时称为“splat”运算符)来解压参数:

list(product(*x))
Out[34]: 
[(1, 'a', 'B'),
 (1, 'a', 'C'),
 (2, 'a', 'B'),
 (2, 'a', 'C'),
 (3, 'a', 'B'),
 (3, 'a', 'C')]
只需使用*运算符(有时称为“splat”运算符)解压参数:

list(product(*x))
Out[34]: 
[(1, 'a', 'B'),
 (1, 'a', 'C'),
 (2, 'a', 'B'),
 (2, 'a', 'C'),
 (3, 'a', 'B'),
 (3, 'a', 'C')]

就是这个。
*
运算符返回可调用中每个元素的列表,与
[item for item in iterable]
完全相同,非常感谢!这帮了大忙!:)就是这个。
*
运算符返回可调用中每个元素的列表,与
[item for item in iterable]
完全相同,非常感谢!这帮了大忙!:)出[34]?这是什么意思?@user3203956:你知道当你在Python控制台时,你通常在每行的开头看到
>
?解释器默认区分输入和输出,并以这种方式给出行号。我想我明白了。。非常感谢你!出[34]?这是什么意思?@user3203956:你知道当你在Python控制台时,你通常在每行的开头看到
>
?解释器默认区分输入和输出,并以这种方式给出行号。我想我明白了。。非常感谢你!