我在代码中创建了一个默认dict,如下所示:
defaultdict(
<class 'list'>
, {'month': ['JAN', 'FEB'], 'car': ['baleno', 'santro'], 'measure': ['sales', 'expense']})
cube = 'test'
现在我想通过添加变量cube
,以下面的格式打印上面的dict:
['month', 'JAN', 'car', 'baleno', 'measure', 'sales', 'test']
['month', 'JAN', 'car', 'baleno', 'measure','expense', 'test']
['month', 'JAN', 'car', 'santro', 'measure', 'sales', 'test']
['month', 'JAN', 'car', 'santro', 'measure', 'expense', 'test']
['month', 'FEB', 'car', 'baleno', 'measure','sales', 'test']
['month', 'FEB', 'car', 'baleno', 'measure','expense', 'test']
['month', 'FEB', 'car', 'santro', 'measure','sales', 'test']
['month', 'FEB', 'car', 'santro', 'measure','expense', 'test']
我实际上使用了三个循环来实现上述输出,但我希望得到一个整洁的循环。你知道吗
dim=['month','car','measure']
cube='test'
for b in itertools.product(*(k.values())):
list1 = list()
for (f, c) in zip(b, dim):
list1.append(c)
list1.append(f)
list1.append(cube)
print(list1)
k是默认的dict
附言:我对Python还不熟悉。就用了几个月。你知道吗
考虑到输入是一个字典,我认为没有比嵌套for循环更有效的了(注意:itertools.产品相当于for循环)。您可以使用列表理解将其作为一行程序来完成,但这样做效率不会更高,可读性也可能更低。你知道吗
您的实现看起来很好,下面是一个稍微简化的总结:
相关问题 更多 >
编程相关推荐