当前位置: 首页 > 知识库问答 >
问题:

将元组转换为列表并返回

施自珍
2023-03-14

我目前正在使用平铺地图为pyplay中的一个游戏开发地图编辑器。关卡由以下结构中的块构建而成(尽管要大得多):

level1 = (
         (1,1,1,1,1,1)
         (1,0,0,0,0,1)
         (1,0,0,0,0,1)
         (1,0,0,0,0,1)
         (1,0,0,0,0,1)
         (1,1,1,1,1,1))

其中“1”是一块墙,“0”是一块空空气。

以下代码基本上是处理块类型更改的代码:

clicked = pygame.mouse.get_pressed()
if clicked[0] == 1:
    currLevel[((mousey+cameraY)/60)][((mousex+cameraX)/60)] = 1

共有3个答案

慕麒
2023-03-14

你可以有一个列表。使用以下命令将元组转换为列表列表:

level1 = [list(row) for row in level1]

level1 = map(list, level1)

并对其进行相应的修改。

但是numpy阵列更酷。

东门晨
2023-03-14

您有一个元组。
要将每个元组转换为列表,请执行以下操作:

[list(i) for i in level] # list of lists

---或---

map(list, level)

完成编辑后,只需将其转换回:

tuple(tuple(i) for i in edited) # tuple of tuples

---或者——(谢谢@jamylak)

tuple(itertools.imap(tuple, edited))

您还可以使用numpy阵列:

>>> a = numpy.array(level1)
>>> a
array([[1, 1, 1, 1, 1, 1],
       [1, 0, 0, 0, 0, 1],
       [1, 0, 0, 0, 0, 1],
       [1, 0, 0, 0, 0, 1],
       [1, 0, 0, 0, 0, 1],
       [1, 1, 1, 1, 1, 1]])

用于操纵:

if clicked[0] == 1:
    x = (mousey + cameraY) // 60 # For readability
    y = (mousex + cameraX) // 60 # For readability
    a[x][y] = 1
陆仲渊
2023-03-14

将元组转换为列表:

>>> t = ('my', 'name', 'is', 'mr', 'tuple')
>>> t
('my', 'name', 'is', 'mr', 'tuple')
>>> list(t)
['my', 'name', 'is', 'mr', 'tuple']

将列表转换为元组:

>>> l = ['my', 'name', 'is', 'mr', 'list']
>>> l
['my', 'name', 'is', 'mr', 'list']
>>> tuple(l)
('my', 'name', 'is', 'mr', 'list')
 类似资料:
  • 问题内容: 我如何转换 至 问题答案: 使用简单的列表理解: 会给你:

  • 问题内容: 我已经编写了此函数,用于将元组列表转换为列表列表。有没有更优雅的/ Pythonic的方式来做到这一点? 问题答案: 您可以使用列表推导:

  • 问题内容: 我是Python的新手,需要将列表转换为字典。我知道我们可以将元组列表转换为字典。 这是输入列表: 并且我想将此列表转换为元组列表(或直接转换为字典),如下所示: 我们如何在Python中轻松做到这一点? 问题答案: 您想一次将三个项目分组吗? 您想一次分组N个项目吗?

  • 我正在尝试将列表的元组转换为列表,但是我没有成功,所以我有了这个函数 获取输入,例如: ( [1,2,3,4], [7,8,9] ) 并应返回: [1,7,2,8,3,9,4] 我有 结果是: [1,7,2,8,3,9***异常:hw2.hs:29: 1-54:函数函数中的非穷尽模式 我知道我得到这个错误,因为列表是不一样的大小,你们怎么认为我可以解决这个问题

  • 我正在尝试将列表转换为元组。 Google上的大多数解决方案提供以下代码: 但是,当我运行代码时,它会产生一条错误消息: TypeError:“tuple”对象不可调用 我如何解决这个问题?

  • 问题内容: 假设我有一个元组列表,并且我想转换为多个列表。 例如,元组列表是 Python中是否有任何内置函数可以将其转换为: 这可以是一个简单的程序。但是我只是对Python中存在这种内置函数感到好奇。 问题答案: 内置功能几乎可以满足您的需求: 唯一的区别是您得到元组而不是列表。您可以使用将它们转换为列表