python - 如何在 Python 中转换 `str.split()` 的元素?
问题描述
我有以下内容:
[line.split(' ') for line in [
line.rstrip() for line in file.readlines()]]
它返回字符串列表的列表。我知道我可以执行以下操作将其转换为整数列表:
for row in tree:
row[:] = map(int, row[:])
可以在处理行时内联完成吗?
一些样本数据:
59
73 41
52 40 09
26 53 06 34
10 51 87 86 81
解决方案
你可以使用
data = """
59
73 41
52 40 09
26 53 06 34
10 51 87 86 81
"""
result = [[int(x) for x in line.split()] for line in data.split("\n") if line]
print(result)
哪个产量
[[59], [73, 41], [52, 40, 9], [26, 53, 6, 34], [10, 51, 87, 86, 81]]
请注意,这仅在您只有整数时才有效。
要进行一些错误管理,您可以使用:
data = """
59 some junk here
73 41
52 40 09
26 53 06 34
10 51 87 86 81
"""
def makeint(line):
for x in line.split():
try:
yield int(x)
except ValueError:
pass
result = [[x for x in makeint(line)] for line in data.split("\n") if line]
print(result)
推荐阅读
- c# - 使用 .Split() 将数字 + 数字存储到两个字符串数组中?
- java - 在Android应用程序中存储和访问具有相应键值的字符串
- android - React Native Firebase Cloud Firestore
- css - 如何突出显示离子列表中的选定项目/项目
- python - 将对象转换为浮点数时遇到问题
- android - 如何导入仅包含 Java 和 XML 文件的项目?
- css - VueJs vue-router 链接外部网站
- r - 在 R 中解析复杂的文本文件
- reactjs - 蓝图选择值字段
- microsoft-graph-api - MSGraph、REST API:获取 SharePoint 365 库的版本控制设置?