我正在尝试将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
?由于\n
每行的结尾处都有evenements.txt
,我有点困惑,因此,如果您能帮上忙,因为我在使用.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']]
我现在需要做的是,我需要为代码中的每个'/'添加一个“”,以便在Musique和shawn之间以及在phillips和2018之间添加一个“”,除了年/月/日之间(只是请看下面的结果,请记住,这只是代码的一部分,我的列表实际上包含160个索引。
所以这就是我正在寻找的结果:
[['Danse', 'Samedi de danser...', 202, 202],
答案 0 :(得分:-1)
您可以为此使用切片和理解:
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偏移此nth的开头。
编辑:如果您希望每行成为一个列表,请阅读您的评论:
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)]