Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我使用python创建了一个排行榜,但我的代码只打印一行。我希望它能像排行榜格式一样单独打印每个元素_Python_Python 3.x - Fatal编程技术网

我使用python创建了一个排行榜,但我的代码只打印一行。我希望它能像排行榜格式一样单独打印每个元素

我使用python创建了一个排行榜,但我的代码只打印一行。我希望它能像排行榜格式一样单独打印每个元素,python,python-3.x,Python,Python 3.x,这是我的密码 file=open("leaderboard.txt", "a") file.write(str(winnerpts) + ", " + winneruser + "\n") file.close() with open('leaderboard.txt', 'r') as f: leaderboard = [line.replace('\n','') for line in f.readlines()] leaderboard.sort(reverse=True

这是我的密码

file=open("leaderboard.txt", "a")
file.write(str(winnerpts) + ", " + winneruser + "\n")
file.close()

with open('leaderboard.txt', 'r') as f:
    leaderboard = [line.replace('\n','') for line in f.readlines()]
    leaderboard.sort(reverse=True)

for idx, item in enumerate(leaderboard):
    if item.split(', ')[1] == winneruser[1] and int(item.split(', ')[1]) < int(winneruser[9]):
        leaderboard[idx] = '{}, {}'.format(winneruser[1], winneruser[9])
    else:
        pass

with open('leaderboard.txt', 'w') as f:
    for item in leaderboard:
        f.write("%s\n" % item)

with open("leaderboard.txt") as leaderboard:
    head = [next(leaderboard).split() for x in range(5)]
    print(head)
我想让它打印如下内容:

['98,', 'ioi']
['90,', 'io']
['72,', 'io'] 
['72,', 'io'] 
['67,', 'ioi']

如果可能,方括号也可以删除吗?

假设您有如下列表
元素:

elements = [['98,', 'ioi'], ['90,', 'io'], ['72,', 'io'], ['72,', 'io'], ['67,', 'ioi']]
你必须仔细检查你的清单才能取得结果

for element in elements:
    print(element)
您将获得:

['98,', 'ioi']
['90,', 'io']
['72,', 'io']
['72,', 'io']
['67,', 'ioi']
更新

您的代码如下所示:

with open("leaderboard.txt") as leaderboard:
    head = [next(leaderboard).split() for x in range(5)]
    print(head)
你必须这样做:

with open("leaderboard.txt") as leaderboard:
    head = [next(leaderboard).split() for x in range(5)]

    for element in head:
        print(element)
更新

输出


不要直接打印列表(标题),只需打印其元素即可

for i in range(len(head)):
    print(head[i][0] + ' ' + head[i][1])
这会将列表(标题)打印为:


非常感谢。它工作得很好。他们是否认为方括号和引号可以在打印时删除?如果有效,你必须投票并接受我的答案。其他人可以从中受益。是的,删除方括号和引号是可能的……不过你会怎么做呢。对不起,我是一个比较新的编码员。我也这么做了,但因为我是新来的,我不认为投票实际上表明@RohanSharma的解决方案很酷。但我给你提供了一个非常好的…哇,这对我来说是一个巨大的帮助。非常感谢你们
with open("leaderboard.txt") as leaderboard:
    head = [next(leaderboard).split() for x in range(5)]

    for element in head:
        info = element[0] + " " + element[1] # add this line
        print(info)
98, ioi
90, io
72, io
72, io
67, ioi
for i in range(len(head)):
    print(head[i][0] + ' ' + head[i][1])
98, ioi
90, io
72, io
72, io
67, ioi