将二维列表中的float数据转换为int类型 python
时间: 2024-05-12 13:18:39 浏览: 93
可以使用嵌套列表推导式来实现:
```python
original_list = [[1.1, 2.2], [3.3, 4.4]]
int_list = [[int(item) for item in sublist] for sublist in original_list]
print(int_list)
```
输出结果为:
```python
[[1, 2], [3, 4]]
```
这个方法可以将二维列表中的浮点数转换为整数。
相关问题
在python中,我明明指定了选取二维数组中的某行某列中的某个元素,然后将其转化为float,可是报错:only size-1 arrays can be converted to Python scalar
这个错误通常发生在你尝试将一个大小不为1的数组转换为Python标量值(如float、int等)。你可以通过以下方法解决:
1. 确保你选取的行和列都只有一个元素,比如:arr[0][0]。
2. 确保你选取的行和列都是整数,而不是切片。如果你使用切片,将会得到一个数组,而不是标量值。
3. 确保你选取的行和列都是有效的,即它们的下标不超过数组的大小。
下面是一个例子,展示了如何选取一个二维数组中的一个元素,并将其转换为float类型:
```python
arr = [[1, 2], [3, 4]]
x = arr[0][0]
y = float(x)
print(y)
```
输出:
```
1.0
```
在这个例子中,我们选取了二维数组arr中的第一行第一列元素,并将其转换为float类型。由于这个元素是一个整数,我们可以将其转换为float类型,并打印结果。
前面将文件中的数据转为列表时,存储在列表中的所有数据都是字符串类型的,但我们观察原始文件中的数据,发现有些数据应该是以数值类型存在和使用的,为了后续使用方便,我们应该将这些数据转为数值类型。 根据提示,在右侧编辑器补充代码,逐行读取文件中的数据,并将数据存储于二维列表中,将每个子列表中可转为数值类型的数据均转为数值类型,整数字符串转为整数类型,浮点数字符串转为浮点数类型,其他字符串保持原样(禁止使用eval()函数)。 程序接收用户输入的一个正整数n,输出转换数据类型后的列表的前n个元素。
代码如下:
```python
with open('data.txt', 'r') as f:
lines = f.readlines()
data = []
for line in lines:
line = line.strip().split(',')
# 新建一个列表,用于存储转换类型后的数据
new_line = []
for item in line:
# 尝试将字符串转为整数类型
try:
item = int(item)
# 如果转换失败,则尝试将字符串转为浮点数类型
except ValueError:
try:
item = float(item)
# 如果还是失败,则直接添加字符串
except ValueError:
pass
new_line.append(item)
data.append(new_line)
n = int(input("请输入一个正整数:"))
for line in data[:n]:
print(line)
```
阅读全文
相关推荐
















