如何放置文件.txt在python中放入多个列表

2024-05-19 10:09:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图将我的file.txt放入一个列表,然后将每个索引放入不同的列表中,而所有列表都保留在初始列表中。到目前为止,我已经能够将它添加到一个列表中。你知道吗

这是我的密码:

with open("evenements.txt", "r", encoding="utf-8-sig") as evenement:
    liste_evenement = evenement.readlines()
    print(liste_evenement)

我希望我的代码返回:

[['index_1'],['index_2'], ...]

我必须使用for循环吗?甚至是while?我有点困惑,因为在我的evenements.txt的每一行末尾都有\n,所以如果你能帮助我,因为我熟悉.strip(),当我在字符串上使用它,但它在列表上不起作用。你知道吗

编辑:下面是我现在需要做的示例:

我的代码现在返回:

[['Musique/Shawn Phillips/2018-08-24/2018-08-24'], "Musique/L'avenue Royale fête l'été!/2018-08-25/2018-08-25"], 'Musique/Perséides musicales/2018-08-03/2018-08-03'], 'Musique/Gaétan Leclerc chante Félix et…/2018-08-17/2018-08-17']]

我现在需要做的是,我需要在我的代码中添加一个“for every”“/”,以便在Musique和shawn之间添加一个“for every”“/”,在phillips和2018之间添加另一个“for every”“/”,除了年/月/日之间(请看下面的结果)。请记住,这只是代码的一部分,我的列表实际上包含160个索引。你知道吗

所以我想要的结果是:

[['Danse', 'Samedi de danser...', 202, 202],

Tags: 代码txt密码列表forindexwithopen
1条回答
网友
1楼 · 发布于 2024-05-19 10:09:34

你可以使用切片和理解:

with open("yourfile", "r") as f:
    number_of_lists = 4
    lists = [f[i::number_of_lists] for i in range(number_of_lists)]

不确定是否可以直接切片一个文件;如果不能,则创建一个包含所有行的列表。正如在注释中指出的那样,您不能直接切片,但可以使用itertools.islice来执行此操作。或者列个清单

这将从文件中获取每个第n个元素,并用n偏移第n个元素的开头

编辑:只要阅读你的评论,如果你想每一行都是一个列表:

with open("file" ,"r") as f:
    list = [[x] for x in f]

EDIT2:要删除换行符:

with open("yourfile", "r") as f:
    number_of_lists = 4
    lists = [[x.rstrip("/n") for x in f[i::number_of_lists]] for i in range(number_of_lists)]

相关问题 更多 >

    热门问题