【发布时间】:2025-11-23 15:20:02
【问题描述】:
我在文本文件中有以下类型的数据。
15 1
23 0
39 -1
71 -1
79 1
95 1
127 -2
151 2
183 1
191 -1
239 0
247 3
我想从文本文件创建一个二维列表,如下所示。我可以使用下面给出的代码来做到这一点,结果如下
[[15, 1.36896146582243],
[23, 0.000000000000000],
[39, 0.848993860380692],
[71, 0.629227476540724],
[79, 0.596517662620081],
[95, 0.543970127117099],
[127, 1.88189324753006],
[151, 1.72587115688942],
[183, 0.391932527534896],
[191, 0.383636720228727]]
但是我不想要所有条目,我只想要源文本文件第二列中非零条目的条目。例如我不想要条目
23 0
239 0
如何将条件语句添加到我的代码中。
with open("path.text") as file:
R = [[int(x) for x in line.split()] for line in file]
【问题讨论】:
-
R = [[int(x) for x in line.split()] for line in file if '0' not in line.split()]. -
@Abdou - 不会捕获第一列中数字包含零的行。
-
@Abdou 不会捕获第一列中包含零的数字行是真的吗?
-
@Kumarm,我之前的评论版本确实如此。但我对其进行了编辑以确保这些行被捕获。所以上面的评论应该可以正常工作。
-
@Abdou 谢谢...
标签: arrays list python-3.x if-statement split