我有以下字符串... 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
提交
取消