iter通过dict存储键值,iter再次在dict中查找相似的单词,并在Python中删除dict格式的例如(Light1on,Light1off)

iter通过dict存储键值,iter再次在dict中查找相似的单词,并在Python中删除dict格式的例如(Light1on,Light1off),python,Python,[我在如何通过dict查找一对相似的单词并将其输出,然后从dict中删除时遇到了问题] 我的目的是生成一个随机输出标签,然后将其存储到字典中,然后通过字典iter存储列表中的第一个键或某种类型,然后通过字典iter搜索相似的键,例如Light1on和Light1off,其中包含Light1,并获取两个键的值,以存储到其各自的表中柱。 比如 Dict={Light1on,Light2on,Light1off…} 通过字典在iter上存储等于Light1的值,以关闭eg Light1,然后将其Lig

[我在如何通过dict查找一对相似的单词并将其输出,然后从dict中删除时遇到了问题]

  • 我的目的是生成一个随机输出标签,然后将其存储到字典中,然后通过字典iter存储列表中的第一个键或某种类型,然后通过字典iter搜索相似的键,例如Light1on和Light1off,其中包含Light1,并获取两个键的值,以存储到其各自的表中柱。 比如 Dict={Light1on,Light2on,Light1off…} 通过字典在iter上存储等于Light1的值,以关闭eg Light1,然后将其Light1on:value1和Light1off:value2存储到表或列名为:On:value1 off:value2的DF中

    • 由于我不知道如何插入代码作为代码,我只能提供图像sry的麻烦,这是我第一次问问题在这里thx
    • < LI>更新:在字典中创建PAR之后,我无法从列表(字典)中删除相似的一对。
    您可能会在迭代过程中遇到一个关于字典更改大小的错误。这是因为您正在从正在迭代的字典中删除键,Python不喜欢这样:

    d = {1:2, 3:4}
    for i in d:
      del d[i]
    
    这将抛出:

    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    RuntimeError: dictionary changed size during iteration
    
    塔达!效果相同,但这种方法避免了错误

    此外,上面的代码没有正确调用
    difflib.get\u close\u matches
    函数。您可以使用
    print(帮助(difflib.get\u close\u matches))
    查看如何调用该函数。您需要提供第二个参数,该参数指示您希望将第一个参数与之进行比较以获得可能的匹配项


    尽管如此,我有一种感觉,你可以更简单地完成你的基本目标。如果你花几分钟来描述你真正想要做的事情(这不应该涉及任何数据类型的引用,它应该只涉及对你的数据和目标的描述),那么我打赌这个网站上的某个人可以帮助你更简单地解决这个问题

    请将您的代码包含在帖子中,而不是作为图片。请将您的代码包含在帖子中,你能提供一些关于你想做什么的更多信息吗?@AlexanderCécile我已经添加了更多关于我想要做什么的细节,因为我第一次使用stackoverflow,我可以提供图片供代码参考,希望你可以help@ZHLaw我的意思是你能在你的帖子中把代码作为文本吗?当然可以。这个地方可能有点奇怪,但一旦你习惯了,你会喜欢它的!要格式化代码,可以将代码放在“``和``标记之间。单击问题下方的“编辑”,查看我如何将这些标记添加到代码中,以使其具有突出显示的外观。是否可以从列表(字典)中删除我找到的对并记录到另一个带有2列的df中,第一个键的值在列中的一对中,第二个键的值在另一列中的一对相似性中。如果您能够提供帮助,这将是非常棒的thx。抱歉,我不理解您@ZHLaw!我会提出一个新问题。。。
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    RuntimeError: dictionary changed size during iteration
    
    keys_to_delete = []
    d = {1:2, 3:4}
    for i in d:
      if i%2 == 1:
        keys_to_delete.append(i)
    
    for i in keys_to_delete:
      del d[i]