在 python 中写入、读取和排序列表列表

Posted

技术标签:

【中文标题】在 python 中写入、读取和排序列表列表【英文标题】:Write, Read and Sort List of Lists in python 【发布时间】:2020-05-12 07:51:56 【问题描述】:

我有 player_list。我想保存在这样的文件中。

> John, 10
> Raymond, 20
> Oscar, 15

player_list = [['John', 10], ['Raymond', 20], ['Oscar', 15]]
# player_list.append(['Micheal',9])
# print(player_list)
with open('score_test.txt', 'w') as f:
    for item in player_list:
        f.write(", \n".format(item[0], item[1]))

然后读取'score_test.txt'文件并像这样打印 [['约翰',10],['雷蒙德',20],['奥斯卡',15]]

with open('score_test.txt', 'r') as file:
    words = file.read().splitlines()
print(words)

然后追加 ['Micheal',19] 并变成 [['John', 10], ['Raymond', 20], ['Oscar', 15],['Micheal',19]]

然后对其标记进行排序 [['Raymond', 20],['Micheal',19],['Oscar', 15],['John', 10]] 然后再次写入文件。谢谢

【问题讨论】:

你有什么问题? 那么您需要排序或读取文件或写入文件方面的帮助吗? 【参考方案1】:

player_list = [['John', 10], ['Raymond', 20], ['Oscar', 15]]

with open('a.txt','w') as filee:
  for val in player_list:
    filee.write(f'val[0], val[1]')
    filee.write('\n')

d = []

with open('a.txt', 'r') as file:
    words = file.read().splitlines()
    for word in words:
      temp = word.split(',')
      temp[1] = int(temp[1].strip())
      d.append(temp)

d.append(['Micheal',19])

player_list = sorted(d, key=lambda x:x[1], reverse=True)

with open('a.txt','w') as filee:
  for val in player_list:
    filee.write(f'val[0], val[1]')
    filee.write('\n')

我想这可能会对你有所帮助。

【讨论】:

以上是关于在 python 中写入、读取和排序列表列表的主要内容,如果未能解决你的问题,请参考以下文章

python 读取/写入CSV文件的列表。

python 读取/写入CSV文件的列表。

从文件中读取列表列表作为python中的列表列表

python 如何将列表写入文件

求助,python如何在csv插入一列的问题

从python中的列表中获取前25个项目