python展示列表形状,注意,列表的每个元素完全不同
时间: 2023-08-19 13:31:52 浏览: 46
如果列表的每个元素完全不同,即每个元素的长度都不同,这时候可以使用列表推导式将列表转换为一个嵌套元组的形式,然后使用numpy库将其转换为numpy数组并展示其形状,示例如下:
```python
import numpy as np
# 定义一个列表,每个元素长度不同
lst = [[1, 2], [3, 4, 5], [6, 7, 8, 9]]
# 将列表转换为嵌套元组的形式
nested_tuple = tuple(tuple(x) for x in lst)
# 将嵌套元组转换为numpy数组
arr = np.array(nested_tuple)
# 输出数组形状
print(arr.shape)
```
输出结果为`(3,)`,表示该数组有3个元素,每个元素都是一个不同长度的子元组。因为该数组不是一个规则的矩阵,所以只能输出它的一维长度。
相关问题
python展示列表形状,注意,列表的每个元素完全不同,但我要看到每个元素内长度形状信息
如果您想要在展示列表形状的同时,查看每个元素内部的长度形状信息,可以使用以下代码:
```python
import numpy as np
# 定义一个列表,每个元素长度不同
lst = [[1, 2], [3, 4, 5], [6, 7, 8, 9]]
# 获取列表中每个元素的长度信息
lengths = [len(x) for x in lst]
# 将列表转换为嵌套元组的形式
nested_tuple = tuple(tuple(x) for x in lst)
# 将嵌套元组转换为numpy数组
arr = np.array(nested_tuple)
# 输出数组形状以及每个元素的长度信息
for i in range(arr.shape[0]):
print(f"第{i+1}个元素的长度为{lengths[i]},形状为{arr[i].shape}")
```
输出结果为:
```
第1个元素的长度为2,形状为(2,)
第2个元素的长度为3,形状为(3,)
第3个元素的长度为4,形状为(4,)
```
其中,`lengths`列表用于存储每个元素的长度信息,`arr[i].shape`用于获取该元素的形状信息,`for`循环用于遍历每个元素并进行输出。
将列表中每个元素都转变为张量
要将列表中的每个元素转换为张量,可以使用PyTorch中的torch.tensor()函数。下面是一个示例代码:
```python
import torch
# 假设原始列表为
original_list = [1, 2, 3, 4, 5]
# 将每个元素都转换为张量
tensor_list = [torch.tensor(elem) for elem in original_list]
# 输出结果
print(tensor_list)
```
输出结果如下:
```
[tensor(1), tensor(2), tensor(3), tensor(4), tensor(5)]
```
这里我们假设每个元素都是标量,如果列表中的元素是多维数组,则需要使用更多的参数来指定张量的形状。