将嵌套的 For 循环转换为列表理解
Converting A Nested For Loop Into a List Comprehension
我正在尝试为这个嵌套的 for 循环编写一个嵌套的列表组件,但我找不到一个解决方案也包含一个跟踪器变量,因此非常感谢您的帮助。
所以故事是我有一个字典,其中单个单词作为键,一个句子列表作为值,我正在访问每个列表,然后访问列表中的每个句子,将其拆分为空格,并存储累积令牌计算新列表中的每个句子,最后重置计数并移至下一个列表。
# combines the sum of each sentence
l = []
# Tracker variable
sum_len = 0
# For each list in the dictionary values
for cl in word_freq.values():
# For each sentence in the current list
for sen in cl:
# split into tokens and combine the sum of each sentence
sum_len += len(sen.split())
# Append the sum of tokens
l.append(sum_len)
# Reset the variable
sum_len = 0
如果你想从字典中创建一个字数列表,你可以这样做:
l = [sum(len(sen.split()) for sen in v) for v in word_freq.values()]
我正在尝试为这个嵌套的 for 循环编写一个嵌套的列表组件,但我找不到一个解决方案也包含一个跟踪器变量,因此非常感谢您的帮助。
所以故事是我有一个字典,其中单个单词作为键,一个句子列表作为值,我正在访问每个列表,然后访问列表中的每个句子,将其拆分为空格,并存储累积令牌计算新列表中的每个句子,最后重置计数并移至下一个列表。
# combines the sum of each sentence
l = []
# Tracker variable
sum_len = 0
# For each list in the dictionary values
for cl in word_freq.values():
# For each sentence in the current list
for sen in cl:
# split into tokens and combine the sum of each sentence
sum_len += len(sen.split())
# Append the sum of tokens
l.append(sum_len)
# Reset the variable
sum_len = 0
如果你想从字典中创建一个字数列表,你可以这样做:
l = [sum(len(sen.split()) for sen in v) for v in word_freq.values()]