![](/img/trans.png)
[英]What is the pythonic way of doing a for loop with these conditions “built in”?
[英]What is the Pythonic way of doing this?
我想要一些數據的字典列表,我嘗試通過這種方式進行操作:
dataList = ['Jim 5656 qwgh', 'Tim 5833 qwgh']
dataDictList = [ {'name': data[0], 'sknum': data[1]} for data.split('\t') in dataList ]
我收到語法錯誤,我猜是因為'data.split('\\ t')'無法正常工作。
我不能像下面那樣用Python的方式來做到這一點,但這是我不想做的事情。
dataDictList = []
for d in dataList:
data = d.split('\t')
dataDictList.append({ 'name': data[0], 'sknum': data[1] })
我想知道以上部分顯示語法錯誤的原因。
如果您真的想要單線:
>>> dataList = ['Jim 5656 qwgh', 'Tim 5833 qwgh']
>>> [dict(zip(['name', 'sknum'], s.split())) for s in dataList]
[{'name': 'Jim', 'sknum': '5656'}, {'name': 'Tim', 'sknum': '5833'}]
如何使用地圖和拆分
碼
dataList = ['Jim 5656 qwgh', 'Tim 5833 qwgh']
dataDictList = [ {'name': data[0], 'sknum': data[1]} for data in map(str.split, dataList)]
dataDictList
[{'name': 'Jim', 'sknum': '5656'}, {'name': 'Tim', 'sknum': '5833'}]
關於什么:
dataList = ['Jim 5656 qwgh', 'Tim 5833 qwgh']
splitDataList = [data.split('\t') for data in dataList ]
dataDictList = [ {'name': data[0], 'sknum': data[1]} for data in splitDataList ]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.