python 三维list选取特殊条件的值输出

比如,此时条件为:

三维torch tensor a 中输出每个二维tensor中每行最后一个数大于 0.5 时的所有内容,输出形式不能变,使用list输出
显然,此时输出的 list 应为三维形式,与 torch.tensor 的区别在于其每个二维列表的0维无法保证相等。

a = a.cpu().numpy()
aaa = []
for i in range(0,6):
    aa = []
    for j,data in enumerate(a[i,:,-1]):
        if data > 0.5:
            b = a.tolist()
            aa.append(b[i][j])
        else: continue
    aaa.append(aa)
print(aaa)
### 如何在Python中对二维列表进行切片 对于二维列表,在Python中可以使用类似于一维列表的索引和切片方法来访问子列表及其元素。下面展示了一个简单的例子,说明如何创建并切片一个二维列表。 #### 创建二维列表 首先定义一个名为`matrix`的二维列表作为示例据集: ```python matrix = [ ['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i'] ] ``` #### 切片整个行或列 要获取特定的一整行,可以直接指定该行的索引号;而为了得到某列,则需遍历每一行并提取相应位置上的元素。 - 获取第二行(`['d', 'e', 'f']`)可以通过 `matrix[1]` 实现[^1]。 - 若要获得第三列 (`['c','f','i']`) 的所有元素,可采用如下方式实现: ```python column_3 = [row[2] for row in matrix] print(column_3) # 输出: ['c', 'f', 'i'] ``` #### 对多行列应用切片 当希望一次性取得多个连续或多间隔的行或列时,就可以利用Python强大的切片语法了。 - 取得前两行的据可通过 `matrix[:2]` 完成,这会返回一个新的包含这两行副本的列表对象。 ```python first_two_rows = matrix[:2] for r in first_two_rows: print(r) # 输出: # ['a', 'b', 'c'] # ['d', 'e', 'f'] ``` - 如果想要选取第零到第二个元素构成的新矩阵(即左上角的小方阵),则可以用双重切片表达式 `[start_row:end_row][start_col:end_col]` 来完成此操作。注意这里实际上是对第一次切片的结果再做一次切片处理。 ```python sub_matrix = [r[0:2] for r in matrix[0:2]] for r in sub_matrix: print(r) # 输出: # ['a', 'b'] # ['d', 'e'] ``` 通过上述几种不同的切片技巧,可以在不改变原始二维组的情况下灵活地读取所需部分的内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值