我有以下字符串... str = 'a=1&b=2&c=3&d=4' 我想要输出 1\2\3\4 folderlist = str.split('&')
folderpath =''
for folder in folderlist:
folderpath = folderpath + folder.split("=")[1] + '\\'
print(folderpath)任何想法,我怎么能在列表理解中写这个?
2 回答
哆啦的时光机
TA贡献1779条经验 获得超6个赞
尝试这个 :
path = "a=C&b=Users&c=Name&d=folder"
'\\'.join([a.split('=')[1] for a in path.split('&')])
开/关:
'C\\Users\\Name\\folder'
30秒到达战场
TA贡献1828条经验 获得超6个赞
首先,不要使用具有名称的变量,str因为这是一个现有的函数并且会覆盖它。
基本列表理解的语法是:[expression for variable in iterable]. 所以这两段代码(基本上)是同一个循环:
l = []
for num in [1, 2, 3]:
l.append(num + 1)
和
l = [num + 1 for num in [1, 2, 3]]
要完成您想要的,请执行以下操作:
path = "a=1&b=2&c=3&d=4"
folderpath = "".join([folder.split("=")[1] + "\\" for folder in path.split("&")])
print(folderpath)
#prints:
#1\2\3\4\
添加回答
举报
0/150
提交
取消