簡體   English   中英

使用Python的方式是什么?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM