【问题标题】:How to assign value to variable in list [PYTHON]如何为列表中的变量赋值[PYTHON]
【发布时间】:2022-11-28 17:50:36
【问题描述】:

我怎样才能在 python 上做这样的事情:

class Game:
    
    def __init__(self, size: int):
        self.settings = { 
            'timeout_turn' = 0
            'timeout_match' = 0
            'max_memory' = 0
            'time_left' = 2147483647
            'game_type' = 0
            'rule' = 0
            'evaluate' = 0
            'folder' = './'
            }

有一个错误,我认为这不是正确的方法,但我没有找到其他解决方案。

提前致谢

【问题讨论】:

  • 此代码与标题不符。这里没有列表。你在尝试创建字典吗?
  • 是的,也许吧,我不知道如何描述这个,所以我将其标识为“列表”
  • 好吧,如果你想编写任何程序,了解什么是列表和什么是字典是最基本的。我强烈建议您花几个小时完成教程并学习基础知识。否则你只会猜测而永远不会理解正在发生的事情。

标签: python


【解决方案1】:

要使其正常工作,您需要将 = 替换为 : 并在每个条目后添加 ,

class Game:
    def __init__(self, size: int):
        self.settings = { 
            'timeout_turn': 0,
            'timeout_match': 0,
            'max_memory': 0,
            'time_left': 2147483647,
            'game_type': 0,
            'rule': 0,
            'evaluate': 0,
            'folder': './'
        }

通过这样做,您将创建一个名为 settings 的类变量,它是字典类型。字典在其他语言中也被称为地图。他们使用不可变值作为索引(键)而不是像列表中那样的数字。

【讨论】:

    【解决方案2】:

    给你,但它是字典而不是列表

    class Game:
        def __init__(self, size: int):
        self.settings = { 
            'timeout_turn' : 0,
            'timeout_match' : 0,
            'max_memory' : 0,
            'time_left' : 2147483647,
            'game_type' : 0,
            'rule' : 0,
            'evaluate' : 0,
            'folder' : './',
            }
    

    【讨论】:

      【解决方案3】:

      如果您希望您的设置数据是字典 : 而不是 = 以影响键值(变量名称)。

      如果你只想创建新变量,你可以这样做:

      class Game:
      
      def __init__(self, size: int):
          self.timeout_turn=0
          self.max_memory=0
          ....
              
          }
      

      【讨论】:

        【解决方案4】:

        嗨??我希望你一切顺利!

        因为您使用的是dict,所以语法应该是:而不是=

        class Game:
        
            def __init__(self, size: int) -> None:
                """Initialize."""
        
                self.settings = {
                    "timeout_turn": 0,
                    "timeout_match": 0,
                    "max_memory": 0,
                    "time_left": 2147483647,
                    "game_type": 0,
                    "rule": 0,
                    "evaluate": 0,
                    "folder": "./",
                }
        

        或者如果你想把它作为属性,你可以这样做:

        class Game:
        
            def __init__(self, size: int) -> None:
                """Initialize."""
        
                self.timeout_turn = 0
                self.timeout_match = 0
        
                ...
        

        【讨论】:

          猜你喜欢
          • 2019-05-08
          • 1970-01-01
          • 2015-08-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-08-14
          • 2012-02-17
          • 2012-04-01
          相关资源
          最近更新 更多