我发现了一个关于列表的"有趣"问题.
list1 = [1, 2, 3]
list1.insert(3, list1)
print(list1)
[1, 2, 3, [...]]
POP = list1.pop()
print(POP)
[1, 2, 3]
list1.extend(['a', 'b', 'c'])
print(POP)
[1, 2, 3, 'a', 'b', 'c']
Run Code Online (Sandbox Code Playgroud)
这些以交互模式显示.当然,我知道"insert"只能在列表中插入一个对象.然而,当我插入list1
到list1
.它表明[...]
,这是什么意思?而且,POP = list1.pop()
不是说pop不能只返回最终对象吗?扩展列表后,最终对象应为'c'.为什么它会返回整体list1
但没有[...]
?
我正在编写一个地牢风格的游戏,地牢基本上是一个 GridPane。如果他一直按住控制键,我想允许玩家每 0.5 秒移动一个网格。但我不确定如何实现这一点。我已阅读JavaFX:如何检测按键是否被按下?. 但是这个问题与我的问题并没有特别的关系(除了我可以跟踪发生了多少关键事件并且可能基于此做更多的事情)。所以我按照这篇文章尝试使用 Thread.sleep() 来解决我的问题,但事实证明播放器只是停下了几秒钟,然后突然移动了几个网格。
有谁知道如何解决这个问题?
@FXML
public void handleKeyPress(KeyEvent event) {
switch (event.getCode()) {
case UP:
System.out.println("Up");
player.moveUp();
break;
case DOWN:
System.out.println("Down");
player.moveDown();
break;
case LEFT:
System.out.println("Left");
player.moveLeft();
break;
case RIGHT:
System.out.println("Right");
player.moveRight();
break;
default:
break;
}
}
Run Code Online (Sandbox Code Playgroud)