【问题标题】:How to append list without the quotations appearing on numbers?如何在没有引号出现在数字上的情况下附加列表?
【发布时间】:2022-12-11 08:55:38
【问题描述】:

我正在尝试使用列表列表创建一个迷宫,其中迷宫的每一行都是列表的一个单独元素。此列表包含数字 0 或 1,它们确定迷宫中的墙/路径以及起点(“S”)和终点(“E”)。 但是当我将每个单独的数字附加到列表时,它都出现在引号中。引号中的字母很好,但我希望在没有引号的情况下添加数字。 有没有办法做到这一点?

这是我附加到列表的代码:

if maze != "invalid":
        row = maze.split(",")
        for line in row:
          col = []
          for element in range(0, len(line)):
            col.append(line[element])

      mazelist.append(col)
    transformed_maze_validation.append(mazelist)

这是我得到的输出:

【问题讨论】:

  • 您可以像这样确保 int 转换:col.append(int(line[element])) 但事先检查 line[element].isalpha() 是否为 False
  • 你打算用这些数字做数学吗?如果它们只表示哪一侧有墙,为什么不将它们保留为字符串呢?您甚至可能不必将行转换为列表,因为您也可以索引到字符串,即 mazelist = maze.split(",")
  • 这回答了你的问题了吗? How do I parse a string to a float or int?

标签: python list append


【解决方案1】:

这是一个 sn-p,它显示了如何确保可以转换为 int 的所有内容都已转换。

items = ['1','2','S','E']
results = []

for item in items:
    try:
        item = int(item)
    except ValueError:
        pass
    results.append(item)

结果[1, 2, 'S', 'E']

【讨论】:

    猜你喜欢
    • 2021-10-31
    • 2022-10-07
    • 2021-02-22
    • 2017-09-01
    • 2018-08-05
    • 2021-05-12
    • 1970-01-01
    • 2012-02-11
    • 1970-01-01
    相关资源
    最近更新 更多