python - 如何将 txt 文件转换为数组的哈希图
问题描述
我正在尝试使用如下格式的文本文件:
4
0 2 3 4
1 1 3 4
2 1 2 4
3 1 2 3
并将其解析为如下内容:
G = {1:[2,3,4], 2:[1,3,4], 3:[1,2,4], 4:[1,2,3]}
其中第一行是行数,每个后续行的第一个数字是数组在哈希图中的顺序。
解决方案
data = """4
0 2 3 4
1 1 3 4
2 1 2 4
3 1 2 3""".splitlines()[1:]
# or
# with open("file.txt") as fp:
# data = fp.readlines()[1:]
G = {i + 1: list(map(int, line.split()[1:])) for i, line in enumerate(data)}
print(G)
{1: [2, 3, 4], 2: [1, 3, 4], 3: [1, 2, 4], 4: [1, 2, 3]}
推荐阅读
- prolog - Prolog 压缩与合并排序
- api - 我是否应该假设 API 总是返回其文档所说的内容?
- scala - 用于递归泛型定义的 Scala 通配符
- svelte - 如果数据不存在或已经使用 Svelte / Sapper 获取了 svelte 类型的 store id 数据,如何有效地从 rest api 获取数据
- intellij-idea - Intellij 2020.1.2:为什么暂存文件给出不同的输出?
- c# - WPF ListView - 选择刚刚添加到项目源的项目
- javascript - Angular Web Components - @Input 没有收到值
- javascript - Javascript - 日期格式
- html - 如何在 Bootstrap 4 中圆化卡片(正文和图像)的角?
- networking - 是否可以在 Python 中使用 Scapy 解析 QUIC 流量。如果是这样,那怎么办?