【问题标题】:list comprehension over tuple of tuple对元组的列表理解
【发布时间】:2022-01-25 00:40:10
【问题描述】:

我有以下字符串

conf=(("X", "X", "-"), ("O", "O", "-"), ("X", "X", "O"))

这是一个元组的元组,我想遍历每个元素并找到“-”表示空白空间并返回一个带有“-”坐标的元组

到目前为止我尝试过的方法都不起作用

conf=(("X", "X", "-"), ("O", "O", "-"), ("X", "X", "O"))
free_spaces = ((i,j) for i,j in range(3) if conf[i][j] == "-" )
free_spaces = {(x,y) for x in conf for y in conf if conf[x][y] == "-" }

有人可以帮忙吗?

【问题讨论】:

    标签: python list-comprehension


    【解决方案1】:

    稍微调整一下你的代码,你就会得到你的解决方案:

    [(i,j) for i in range(len(conf)) for j in range(len(conf[i])) if conf[i][j]=='-' ]
    

    如果你确定你的元组的长度每次都是 3,你可以跳过len()

    【讨论】:

      【解决方案2】:

      如果“-”不在元组中,则返回 -1;否则返回索引。

      conf=(("X", "X", "-"), ("O", "O", "-"), ("X", "X", "O"))
      
      print([conf[i].index("-") if "-" in conf[i] else -1 for i in range(len(conf))])
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-06
        • 1970-01-01
        • 2017-11-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多