python - 将矩阵从字符串转换为整数
问题描述
我正在尝试将数字矩阵从字符串更改为整数,但它不起作用。
for element in list:
for i in element:
i = int(i)
我究竟做错了什么?
编辑:这是整个代码:
import numpy as np
t_list = []
t_list = np.array(t_list)
list_rains_per_months = [['63', '65', '50', '77', '66', '69'],
['65', '65', '67', '50', '54', '58'],
['77', '73', '80', '83', '89', '100'],
['90', '85', '90', '90', '84', '90'],
['129', '113', '120', '135', '117', '130'],
['99', '116', '114', '111', '119', '100'],
['105', '98', '112', '113', '102', '100'],
['131', '120', '111', '141', '130', '126'],
['85', '101', '88', '89', '94', '91'],
['122', '103', '119', '98', '101', '107'],
['121', '101', '104', '121', '115', '104'],
['67', '44', '58', '61', '64', '58']]
for element in t_list:
for i in element:
i = int(i)
对于任何错误,我深表歉意,我是 python 新手
解决方案
你做错了什么,是你没有改变列表或任何列表元素:循环内的'i'首先指向列表的每个元素,然后你让它指向其他东西,但这并没有' 不影响您的列表(另外,避免使用 'list' 作为标识符,它是现有类型,这是自找麻烦)。
一种方法是使用列表推导。假设您的矩阵是(内部)列表的列表,例如:
a_list = [["3", "56", "78"], ["2", "39", "60"], ["87", "9", "71"]]
那么两个嵌套列表推导应该可以解决问题:
a_list = [[int(i) for i in inner_list] for inner_list in a_list]
这将构建一个新列表,通过遍历您的初始列表、应用您想要的更改并将其保存为另一个(或相同)列表而形成。
推荐阅读
- git - 如何拉取远程仓库仅在 Git 中获得最后一次提交?
- android - Android ViewModel Obserable 未观察到
- javascript - 如何从 JavaScript 中的 ASCII 字符生成随机字符串
- sql - 编写嵌套的 case 表达式
- python - python BeautifulSoup - 无法设置属性,试图替换标签值
- c - 为什么我不能使用 extern 关键字来初始化 extern 变量?
- ios - 如何在 ios 的 UIScrollView 中添加动态标签?
- python - 我如何处理玩家生命?
- node.js - 在 Sequelize 的多对多关联中包含中间表
- php - 如何根据我的代码将复选框数据保存到数据库中,知道吗?