python - 带有字符串值的列表到二维数组
问题描述
字符串值列表如下所示:
x = ["0: ['17' '19']", "1: ['32' '35']", "2: ['29']", "3: ['16']", "4: ['24' '18' '9']", "6: ['24' '26']", "9: ['11' '26' '34']", "10: ['33']"]
我想要一个二维数组,所以我可以这样做:
print(x[0][1][1])
19
首先我摆脱了冒号:
x = [i.split(': ') for i in x]
[['0', "['17' '19']"], ['1', "['32' '35']"], ['2', "['29']"], ['3', "['16']"], ['4', "['24' '18' '9']"], ['6', "['24' '26']"], ['9', "['11' '26' '34']"], ['10', "['33']"]]
但是我不知道下一步该怎么做...
解决方案
这是一种方法。
前任:
x = ["0: ['17' '19']", "1: ['32' '35']", "2: ['29']", "3: ['16']", "4: ['24' '18' '9']", "6: ['24' '26']", "9: ['11' '26' '34']", "10: ['33']"]
res = []
for i in x:
m, n = i.split(": ")
res.append([m, [int(j.strip("'")) for j in n.strip("[]").split()]])
print(res[0][1][1]) #-->19
或使用 numpy
import numpy as np
res = []
for i in x:
m, n = i.split(": ")
res.append([m, np.fromstring(n[1:-1].replace("'", ""),sep=' ').astype(int)])
print(res[0][1][1])
推荐阅读
- html - 图像、字体、网站图标等仅出现在 Safari 中,但不在 Chrome 或移动设备中?
- visual-studio-code - VSCode:将光标移动到每个光标的给定单词的下一个出现
- php - 更新关系内的关系 hasMany 值
- django - 重写 Django 模型以删除不必要的主键后收到 InvalidCursorName 错误消息
- javascript - 填写所有字段时显示 div
- sql-server - 我有以下代码可以使用 Python 从 SQL Server 编写输出:输出为 '1'、'2'、'3',但我想要 1 2 3
- windows - 如果 Win 键是使用 AutoHotkey 按下的唯一键,如何禁用它?
- python - Python - discord.py,如何修复“事件循环已关闭”
- python - 无法从 chatterbot 中的特定 mongo db 读取问题总是写入 chatterbot_database
- c++ - 如何检查 tensorflow 是否可以在我的系统上运行,例如是否找到了所有支持的硬件,如 avr 设备