比较不同数据类型的问题

时间:2018-08-15 18:46:02

标签: python string-comparison

我正在尝试解析文本文件,看起来像这样:

  

1;电气工程师; 0; 90

     

2;机械的; 0; 77

     

3;科学家; 1; 71

     

4;计算机专家; 1; 90

有一个选项可以分隔所需的元素。下面是我的代码:

with open('employee.txt', 'r') as employee_list:
    for employee in employee_list.readlines():
        fields = employee.split(';')
        if fields[1] == 'electrical engineer' and fields[3] >= 60:
            print(fields)

但是我得到一个错误:

  

TypeError:'str'和'int'实例之间不支持'> ='

如果我要去:

if fields[1] == 'electrical engineer':
    print(fields)

我让我的“电气工程师”弦女巫看起来像这样:

  

['1','电气工程师','0','90 \ n']

然后我看到 fields [3] 是一个字符串元素,所以我正在尝试:

if fields[1] == 'electrical engineer' and int(fields[3] >= 60):
    print(fields)

但是只会出现相同的错误

将感谢您的任何建议

1 个答案:

答案 0 :(得分:3)

split方法返回字符串列表。 fields[3]是一个字符串。您必须将其转换为int。试试:

int(fields[3].rstrip()) >= 60 

-rstrip()删除\n尾随行