python - 如何编写一个函数来检查文件中的元素是否重复?
问题描述
我有一个文件“f.txt”,其中有很多 str 类型的数字。每个数字最多有 9 位数字,最少 3 位数字。每个数字都由一个换行符分隔(所以每个数字都在自己的行中,我不知道如何正确格式化,所以下面的示例不是t 在格式方面准确)。
我想编写一个循环遍历文件并检查该文件中是否有重复的数字的函数。文件内部如下所示:
1244816 \n 2760125 \n 1102758 \n 713765 \n 6521147 \n 4711995 \n 1494276 \n 12336119 \n 8398120 \n 1215092 \n 8125139 \n ...
with open("ket.txt") as f:
line = f.readline()
status = True
while status:
if line == #looping through the entire file to see if there is
#identical number:
status = False
我有一些伪代码?不过,我不确定如何实现评论部分。
解决方案
假设我有一个文件f.txt
包含:
12324
41564
7754564654654
123
87642
123
89745312
然后是下面的python脚本,我们称之为scan.py
:
def main():
with open('f.txt', 'r') as f:
numbers_seen = set()
for n in f:
if n in numbers_seen:
print('{} appears more than once!'.format(n.strip()))
return
numbers_seen.add(n)
if __name__ == '__main__':
main()
然后运行python scan.py
将产生:
123 appears more than once!
推荐阅读
- java - 无法通过 Jackson Yaml 反序列化对象数组
- reactjs - 无法使用 localStorage 更新状态
- mysql - 在单个查询中将多行中的列更新为不同的值而不插入
- python - 从列表中选择 Python dict 并修改它而不影响原始列表
- system-verilog - SystemVerilog 属性通过引用传递
- sql - 将查询结果转换为 postgresql 中的一个数组 json 对象
- reactjs - ColorPicker material-ui-color,鼠标上移设置颜色
- c - 带动态数组的 Fscanf
- java - 在 Java Netbeans (UCanAccess) 中插入来自不同数据库的值
- css - 用渐变填充 SVG