如何遍历python2d列表并删除/替换特定列中的字符?

2024-10-01 00:19:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下二维列表

data = [['2013-02-03', 'London', 'miles', '25'], ['2013-02-03', 'Newcastle', 'miles', '25'], ['2013-02-03', 'Birmingham', 'miles', '62']]

我需要能够删除列中的任何'' e、 g最后一列,这样我就可以将2D列表传递到文本文件中的javascript函数。在

^{pr2}$

我有一个函数,可以得到单个值的结果

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],"

有人能提出一个更好的方法来达到这个结果吗?在

我尝试了很多方法使用:for循环、map/lambda和 我可以循环查看列表或更改单个列表中的元素 只是不能两者兼而有之。在


Tags: 方法函数列表newdatalijavascriptold
1条回答
网友
1楼 · 发布于 2024-10-01 00:19:43

只需将值列表作为Python处理:

for row in data:
    row[-1] = int(row[-1])

这会将data嵌套列表中的最后一个元素替换为它们的等效整数。在

接下来,使用json模块将其转换为有效的JavaScript:

^{pr2}$

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]]'

相关问题 更多 >