Python 如何根据特定的表达式在子列表中保存字符串列表?
我正在做一个脚本来保存子列表中的读取路径。假设我有400个文件路径保存在一个列表中,每个路径都有特定的语法Python 如何根据特定的表达式在子列表中保存字符串列表?,python,python-3.x,list,arraylist,path,Python,Python 3.x,List,Arraylist,Path,我正在做一个脚本来保存子列表中的读取路径。假设我有400个文件路径保存在一个列表中,每个路径都有特定的语法Ci_whatever.csv,那么在我的路径列表中我有如下内容: pathlist=[C1_01.csv,C1_02.csv,...,Cn_01.csv,Cn_02.csv] 我希望最后有一个路径列表f在这种情况下进行排序: pathlistf=[[C1_01.csv,C1_02.csv,...],[C2_01.csv,C2_02.csv,...],...,[Cn_01.csv,Cn_
Ci_whatever.csv
,那么在我的路径列表中我有如下内容:
pathlist=[C1_01.csv,C1_02.csv,...,Cn_01.csv,Cn_02.csv]
我希望最后有一个路径列表f
在这种情况下进行排序:
pathlistf=[[C1_01.csv,C1_02.csv,...],[C2_01.csv,C2_02.csv,...],...,[Cn_01.csv,Cn_02.csv,...]]
我不知道如何重新排列通往这条路的路径
您好,我遇到了这个问题:
我想问一些与过去案例非常相似的问题,假设我有下一条路径:
(代码>路径:<代码>路径:[案例1.0 0 0 0 0 0 0 0 0 0 0 1.1 0 0 0 0 0 0 0 0 0 2.csv,案例1.1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2.csv,案例1 1.1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.csv,1.csv,案例1 1.1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0>
我想要这个:
pathf=[[case1_Qxxx_cap1_whatever.csv,case1_Qxxx_cap1_whatever 2.csv],[case1_Qxxx_cap2_whatever.csv,Qxxx_cap2_whatever 2.csv,[[case2_Qxxx_cap1_whatever.csv,case2_Qxxx_cap1_whatever 2.csv,][case2
一种方法是创建一个,并使用部分Ci
作为键,以Ci
开头的文件名列表将作为值。例如,以pathlist=['C1_01.csv'、'C1_02.csv'、'C2_01.csv'、'C3_01.csv'、'C2_02.csv']
为例,我们将创建一个字典来存储
{'C1': ['C1_01.csv', 'C1_02.csv'], 'C2': ['C2_01.csv', 'C2_02.csv'], 'C3': ['C3_01.csv']}
代码如下:
pathlist = ['C1_01.csv','C1_02.csv', 'C2_01.csv' , 'C3_01.csv', 'C2_02.csv']
d = {}
for path in pathlist:
if path[:2] not in d:
d[path[:2]] = [path]
else:
d[path[:2]].append(path)
pathlistf = []
for key in d:
pathlistf.append(d[key])
print(pathlistf)
# Output: [['C1_01.csv', 'C1_02.csv'], ['C3_01.csv'], ['C2_01.csv', 'C2_02.csv']]
希望这能解决问题。请随时询问任何疑问。如果预先排序了
路径列表
,您可以基于以下代码使用
从itertools导入groupby
路径列表=['Cn_01.csv'、'C1_02.csv'、'C9_01.csv'、'C9_02.csv'、'Ca_01.csv'、'C9_03.csv'、'Ca_02.csv'、'C1_01.csv'、'Cn_02.csv']
pathlist.sort()
groupedfilenames=(groupby(路径列表,key=lambda:a[:2])中g的列表(g)
打印(列表(GroupedFileName))
输出:
['C1_01.csv','C1_02.csv',['C9_01.csv','C9_02.csv','C9_03.csv'],['Ca_01.csv','Ca_02.csv'],['Cn_01.csv','Cn_02.csv']
非常感谢,先生,这正是我想要的,谢谢!我不知道如何重新安排这条路你根本不知道从哪里开始?