我在python中读取了一个文件,该文件每行包含2个整数和1个实数。 如何在 python 中找到所有文件中第2个第一个整数的唯一数字(实数除外)?
例如文件
app.use
在此示例中,结果应为8。
更新 这是我的代码
1 2 3.3
11 22 33.3
111 222 333.3
11 22 33.3
114 224 334.4
如何确定不考虑实数的数字,然后我可以从第一个两个整数进行 count distinct 个数字(每行)
答案 0 :(得分:1)
您可以使用set函数来生成唯一集。例如:
fileName = 'test.txt'
with open(fileName, 'r') as f:
unique = set()
for line in f.readlines():
unique = unique | set(line.split()[:2])
print(unique)
输出:
{'114', '11', '22', '111', '2', '224', '222', '1'}
答案 1 :(得分:0)
读取文件后,您可以获取每个展平的行切片的集合[:2]
,然后获取长度:
from itertools import chain
with open('numbers.txt') as file:
unique = len(set(chain.from_iterable(x.split()[:2] for x in file)))
print(unique)
# 8