繁体   English   中英

Python打印字符串结果

[英]Python Printing the String Result

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。名称(性别):数字而不是['名称','性别',数字]

我做字符串的事情很麻烦。 它不会给我带来好的输出。 有帮助吗?

谢谢

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))

暂无
暂无

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

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