![](/img/trans.png)
[英]How can I iterate through a 2D list to just get the first index within each list?
[英]How can I iterate through a python 2D list and delete/replace characters from a specific column?
我有以下2D清單
data = [['2013-02-03', 'London', 'miles', '25'], ['2013-02-03', 'Newcastle', 'miles', '25'], ['2013-02-03', 'Birmingham', 'miles', '62']]
我需要能夠刪除列中的所有''
,例如下面的最后一列,以便我可以將2D列表傳遞給文本文件中的javascript函數。
data = [['2013-02-03', 'London', 'miles', 25], ['2013-02-03', 'Newcastle', 'miles', 25], ['2013-02-03', 'Birmingham', 'miles', 62]]
我有一個函數,可以在單個值上獲得結果
r = "['2013-02-03', 'London', 'miles', '25']"
def rreplace(s, old, new, occurrence):
li = s.rsplit(old, occurrence)
return new.join(li)
rreplace(p, "'", '', 2)
"['2013-02-03', 'Feltham', 'less_than_one_day', 25],"
誰能建議一種更好的方法來達到這個結果?
我已經嘗試了多種使用方式:對於循環,map / lambda和iter,我可以遍歷列表或更改單個列表中的元素,但不能同時執行兩個操作並輸出結果。
只需像Python那樣處理值列表:
for row in data:
row[-1] = int(row[-1])
這會將data
嵌套列表中的每個最后一個元素替換為其等效的整數。
接下來,使用json
模塊將其轉換為有效的JavaScript:
import json
r = json.dumps(data)
JSON畢竟是JavaScript的子集。
快速演示:
>>> data = [['2013-02-03', 'London', 'miles', '25'], ['2013-02-03', 'Newcastle', 'miles', '25'], ['2013-02-03', 'Birmingham', 'miles', '62']]
>>> for row in data:
... row[-1] = int(row[-1])
...
>>> data
[['2013-02-03', 'London', 'miles', 25], ['2013-02-03', 'Newcastle', 'miles', 25], ['2013-02-03', 'Birmingham', 'miles', 62]]
>>> import json
>>> json.dumps(data)
'[["2013-02-03", "London", "miles", 25], ["2013-02-03", "Newcastle", "miles", 25], ["2013-02-03", "Birmingham", "miles", 62]]'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.