检查是否存在重复项,然后在行中附加唯一的数字?

2024-05-20 16:05:43 发布

您现在位置:Python中文网/ 问答频道 /正文

INPUT.TXT如下所示-

pr-ec2_1034
pr-ec2_1023
pr-ec2_1099

我想写一个python脚本来读取这个文件;在数字最大的行上加+1,然后打印该行

期望输出-

pr-ec2_1100

现在我可以给所有行加+1,比如-

def increment_digits(string):
    return ''.join([x if not x.isdigit() else str((int(x) + 1) % 10) for x in string])

with open('INPUT.txt', 'r') as file:
    data = file.read()
print(increment_digits(data))

输出-

pr-ec3_2145
pr-ec3_2134
pr-ec3_2134

但这不是我想要的。我想在input.txt中找到结尾数字最大的那一行,然后在后面的那一行加上+1(最后一个下划线)

我想要的是pr-ec2\U 1100


Tags: 文件txt脚本inputdatastringdef数字
1条回答
网友
1楼 · 发布于 2024-05-20 16:05:43

像这样:

with open('input.txt') as f:
  lines = [l.strip() for l in f.readlines()]
  numbers = [int(l.split('_')[1]) for l in lines]
  _max = max(numbers)
  result = _max + 1
  print('result: pr-ec2_{}'.format(result))

输出

pr-ec2_1100

相关问题 更多 >