为了账号安全,请及时绑定邮箱和手机立即绑定

想要将列表列表中的每个元素放到一个文件中

想要将列表列表中的每个元素放到一个文件中

尚方宝剑之说 2021-09-11 10:09:01
我正在制作一个高分列表,它的顺序应该由点数决定,即列表中列表的第二个元素。这是我的代码:from typing import List, Tuplename1 = 'John'name2 = 'Ron'name3 = 'Jessie'points1 = 2points2 = 3points3 = 1highscore: List[Tuple[str, int]] = []highscore.append((name1, points1))highscore.append((name2, points2))highscore.append((name3, points3))print(highscore)sorted_by_second = sorted(highscore, key=lambda X: X[1])highscore_list= str(sorted_by_second)将列表导出到文件with open('highscore.txt', 'w') as f:for item in highscore_list:    f.write("%s\n" % item)然后它在文件中看起来像这样: [ ( J e s s i e , 1 ) ,但我希望它在文件中看起来像这样:  Jessie 1  John   2我如何实现这一目标?
查看完整描述

1 回答

?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

对(可选的)类型声明表示敬意!


您开始将其格式化为字符串有点太早了。最好将您的对的结构保留更长的时间:


for pair in sorted_by_second:

    f.write(f'{pair}\n')

或者,如果您愿意,可以将它们分开以获得更灵活的格式:


for name, points in sorted_by_second:

    f.write(f'{name} scored {points}.\n')


查看完整回答
反对 回复 2021-09-11
  • 1 回答
  • 0 关注
  • 133 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信