【发布时间】:2018-03-25 17:59:15
【问题描述】:
我创建了一个双 for 循环,它首先从部首列表中获取一个单词,然后遍历同一个列表以寻找相似的单词(比例为 70%)。 我需要的是,每次第一个循环从列表中获取一个单词时,它都会创建一个新列表,其中包含单词+第二个循环选择的相似单词。
我对列表推导进行了很多尝试,但我不知道如何将第二个循环中的单词放入新列表中。我认为如果创建的每个列表都有一个索引(x),它可以工作。 这是我的代码:
x = 0
result = [[] for x in range(len(radicals))]
for i in range(0, len(radicals)) :
for j in range(1, len(radicals)) :
result[x].append(words[i])
result[x].append(words[j])
print(result[0])
我得到的结果是部首字数*列表个数……
单词列表:
words = ["flore", "fleur", "fleuriste", "remaniement", "remanier", "manier", "maniable", "désaimer", "aimer", "aimant", "mêler", "emmêler", "désemmêler"]
print(radicals) 后的结果:
['flore', 'fleur', 'fleur', 'manie', 'mani', 'mani', 'mani', 'aim', 'aim', 'aim', 'mêl', 'mêl', 'emmêl']
我正在尝试将单词而不是部首放在新列表中,我只需要部首来进行匹配过程。
我需要类似的东西:
['flore', 'fleur', 'fleuriste']
['manier', 'remanier', 'remaniement']
['désaimer', 'aimer', 'aimant']
['mêler', 'emmêler', 'désemmêler']
我真的可以使用你的帮助。非常感谢 !
【问题讨论】:
-
您意识到您对变量和
for循环迭代使用相同的变量名称?实际使用的唯一变量是x -
您能否提供
radicals的示例和预期结果? -
@KirillErmolov 我刚刚编辑了我的问题 :)
-
@mangoHero1 x 创建的列表与部首中的项目一样多,我尝试使用 [x] 作为列表的索引,例如 result[0] = first list created, result[ 1] = second...当然它不是这样工作的,但我不明白你的评论,因为 i 和 j 很好地迭代了部首列表?
-
我想说的是你不需要声明一个变量 (
i = 0) 来在 for 循环中使用一个变量 (for i in range(len(radicals)))
标签: python list for-loop indexing list-comprehension