如何将此代码转换为python中的列表理解
max_len = []
for word in fourier_dict:
word = fourier_dict[word]
for occur in word:
max_len.append(len(occur))
我是python的新手,我必须将这个嵌套循环转换为列表理解,我无法弄清楚。一点帮助将非常感激。
答案 0 :(得分:6)
max_len = [len(occur) for word in fourier_dict for occur in fourier_dict[word]]
应该工作。
答案 1 :(得分:3)
首先,您实际上并未使用dict
的密钥,因此您可以简化为:
max_len = []
for word in fourier_dict.values():
for occur in word:
max_len.append(len(occur))
直接迭代值(如果它是Py2代码则使用.itervalues()
以避免临时list
)。从那里,它是一个简单的转换为listcomp,值为"追加"在最左边,而循环从左到右排列,从最外面到最里面:
max_len = [len(occur) for word in fourier_dict.values() for occur in word]
答案 2 :(得分:0)
你可以试试这个:
s = [len(i) for a, b in fourier_dict.items() for i in b]