Python打印字符串结果

时间:2013-10-13 03:43:20

标签: python string printing

import operator

def mkEntry(file1):
    results = []
    for line in file1:
        lst = line.rstrip().split(",")
        lst[2] = int(lst[2])
        results.append(lst)
    return print(sorted(results, key=operator.itemgetter(1,2)))


def main():
    openFile = 'names/' + 'yob' + input("Enter the Year: ") + '.txt'
    file1 = open(openFile)
    mkEntry(file1)

main()

文件:

Emily,F,25021
Emma,F,21595
Madison,F,20612
Olivia,F,16100
Joaquin,M,711
Maurice,M,711
Kade,M,701
Rodrigo,M,700
Tate,M,699

如何打印结果如下所示: 1.姓名(性别):数字 而不是['名称','性别',数字]

我在做字符串事情时遇到了麻烦。它不会给我带来好的输出。有什么帮助吗?

由于

1 个答案:

答案 0 :(得分:2)

return print(sorted(results, key=operator.itemgetter(1,2)))并没有按照您的预期行事。

由于print()返回None,您的函数将return None。摆脱print语句(如果你想打印该行,只需在返回之前将其放入)

然后你可以在main()函数中执行:

for person in mkEntry(file1):
    print("1. {0} ({1}): {2}".format(*person))