小编dae*_*ter的帖子

如何创建空列表列表

如果之前已经回答过,请道歉,但我在这里找不到类似的问题.

我是Python的新手,我想创建的内容如下:

list1 = []
list2 = []
results = [list1, list2]
Run Code Online (Sandbox Code Playgroud)

这段代码工作得非常好,但我想知道是否有更快的方法在一行中完成此操作.

我尝试了以下,但没有用,但我希望它能说明我所追求的事情:

result = [list1[], list2[]]
Run Code Online (Sandbox Code Playgroud)

另外,就复杂性而言,将它放在一条线上真的会有所不同吗?或者在两种情况下都是三项任务?

python list

10
推荐指数
2
解决办法
1万
查看次数

为什么 switch case 语句无法使用 Enum 的属性?

我正在编写一个简单的游戏,其中使用枚举CommandManager来存储有关可能的命令以及每个命令的作用的信息。该枚举的主要目的是能够打印出可用命令的菜单,以及用于检查输入并执行与该输入相关的操作。我的问题在于第二次使用,我使用 switch 语句来根据用户的输入确定用户想要执行的操作。当我尝试使用 Enum 的属性(通过 getter 方法)作为 case 标签时,出现编译错误。提供的错误消息是case expressions must be constant expressions。鉴于 的属性CommandManager被声明为最终的,我认为枚举的属性根本不能在 switch 语句中使用是正确的吗?如果是这样,为什么?

下面包含代码的简化版本,以防我这边出现错误。

方法代码:

void interpretInput()   {
    String command = input.getInput();
    if (command.length() == 2)  {
            switch (command) {
            case CommandManager.MAINMENU.getCommand(): goToMainMenu(); 
                    break;
            case CommandManager.NEWGAME.getCommand(): startNewGame();
                    break;
            case CommandManager.LISTGAMES.getCommand(): listSavedGames();
                    break;
            case CommandManager.EXITGAME.getCommand(): exitGame();
                    break;
            case CommandManager.HELPMENU.getCommand(): listAllCommands();
                    break;
            }
    }
}
Run Code Online (Sandbox Code Playgroud)

枚举代​​码:

public enum CommandManager {

NEWGAME("!n", "New game"),
MAINMENU("!m", "Go to main menu"),
EXITGAME("!q", "Exit Battleships"),
LISTGAMES("!g", …
Run Code Online (Sandbox Code Playgroud)

java enums switch-statement

3
推荐指数
1
解决办法
2288
查看次数

标签 统计

enums ×1

java ×1

list ×1

python ×1

switch-statement ×1