繁体   English   中英

Python:字符串中的唯一数字

[英]Python: Unique numbers in string

我想在第二列中保留唯一的整数,并在上一列中打印该条目。 但是我无法将字符串转换为整数并得到错误: TypeError:'int'对象不可迭代

输入文件

    A     1     108.80
    A     1       8.33
    B     2      45.10
    B     2       3.96
    B     2       3.94
    A     3       1.96
    A     3       2.94

输出量

A
B
A

脚本

with open('test.pdb') as infile:
        for line in infile:
                data = int(line.split()[1])
                seen = set()
                for number in range(data):
                        unique = [x for x in number if x not in seen]   
                        seen.update(unique)
                        print(unique)

这是您(可能)想要的:

seen = set()
with open('test.pdb') as infile:
    for line in infile:
        unique, data = line.split()[0:2]
        if data not in seen:
            print(unique)
            seen.add(data)

给定该示例,下面是处理该列表的列表:

with open(fn) as f:
    seen=set()
    print '\n'.join([c1 for c1,c2 in (line.split()[0:2] for line in f) 
                                   if not (c2 in seen or seen.add(c2))])

印刷品:

A
B
A

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM