从python中的三个数字行中查找文件中的唯一数字

时间:2018-11-25 09:39:18

标签: python python-3.x python-2.7

我在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 个数字(每行)

2 个答案:

答案 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