Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 检查键的值是否与以前相同_Python_Dictionary - Fatal编程技术网

Python 检查键的值是否与以前相同

Python 检查键的值是否与以前相同,python,dictionary,Python,Dictionary,我一直在研究这个代码,但我找不到答案 我有两张单子 point_values = [1, 3, 3, 2, 1, 4, 2, 4, 1, 8, 5, 1, 3, 1, 1, 3, 10, 1, 1, 1, 1, 4, 4, 8, 4, 10] letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', '

我一直在研究这个代码,但我找不到答案

  • 我有两张单子

    point_values = [1, 3, 3, 2, 1, 4, 2, 4, 1, 8, 5, 1, 3, 1, 1, 3, 10, 1, 1, 1, 1, 4, 4, 8, 4, 10]
    
    letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
    
  • 我想设置
    a:1
    b:3
    等等…我想把它们放在一个名为
    point\u letters
    的字典中

  • 这是我的起始代码

    point_letters = {}
    point_values = [1, 3, 3, 2, 1, 4, 2, 4, 1, 8, 5, 1, 3, 1, 1, 3, 10, 1, 1, 1, 1, 4, 4, 8, 4, 10]
    letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
    
    for x in letters:
        for i in point_values:
            if point_letters[x] != i: # is what I'm trying to do
                point_letters[x] = i
    print(point_letters)
    
    我该怎么做

    point_letters = dict(zip(letters, point_values))
    
    zip
    制作对应元素对的列表
    dict
    将成对列表转换为字典

    编辑:更改了dict名称。此外,针对评论和张贴的代码:


    这是伟大的,但我仍然没有学会这一点。有没有办法让它循环

    通常,在现实世界中,您会使用上述方法
    for
    的级别非常低,您可能希望尽量避免使用它。在课堂上,我不会解决你的问题,而是给你一些提示(所以这不是剽窃):

    • 您希望将
      字母[i]
      点[i]
      配对,以获得相同的
      i

    • i
      应该从
      0
      到最大索引-比列表长度小一个

    • 您可以使用
      len

    • 您可以使用
      range
      (Python 3)或
      xrange
      (Python 2)获取范围

    在代码中

    • 有两个循环不是你需要做的

    • 您的
      if
      永远不可能为真


    EDIT2:将“array”更改为“list”,因为Python必须是一个特殊的雪花。

    对于初学者来说,不要从与所需输出同名的
    列表开始(
    dict
    :),但更重要的是,到目前为止,您尝试了什么?呜呜,我太累了,我打错了。您面临的实际问题是什么?将这两个列表分配到一个由key=letters:value=point\u值组成的字典?你为什么不首先创建一个字典?这是一个家庭作业问题吗?这很好,但我还没有学会。有没有办法让它循环?