在Python中删除2D列表元素中的字符

时间:2013-03-01 04:46:36

标签: python list 2d

我正在使用python中的二维列表

我有一个字符串列表(m= [[0]*5 for i in range(5)]

分割另一个字符串并将其存储在m后,我得到m的元素如下:

m[0] = "< one"

m[1] = "two" 

m[2] = "three" 

m[3] = "four"

m[4] = "five >"

如何删除元素0中的<字符和元素4中的>字符?

我正在尝试解析字符串s。我正在解析它,以便稍后可以将值存储到数据库中。这就是我需要&lt;要被淘汰

实际代码:

    s ="< one > < two > < three > < four : 1 > < five : 2 > < six : 3 > < seven : 4 > < eight : 5 > < nine : 6 >"
    m= [[0]*5 for i in range(5)]
    m=s.split("> <")
    print "The original list"
    index=0
    for index in m:
        print index

输出:

原始列表

&LT;一个

两个

四:1

五:2

六:3

七:4

八:5

九:6&gt;

3 个答案:

答案 0 :(得分:1)

然后他发布了代码......我的答案就变成了:

s ="< one > < two > < three > < four : 1 > < five : 2 > < six : 3 > < seven : 4 > < eight : 5 > < nine : 6 >" 
m=s.split("> <") 

m[0].replace("<", "")
m[-1].replace(">", "")

print m
>>> [' one ', ' two ', ' three ', ' four : 1 ', ' five : 2 ', ' six : 3 ', ' seven : 4 ', ' eight : 5 ', ' nine : 6 ']

答案 1 :(得分:0)

您的输出看起来不正确 - 您确定要将商品存储在列表中吗?我建议对列表进行一些研究,一旦弄明白,你可以简单地使用remove()方法:

m = ["<", "a", "b", "c", "d", ">"]

m.remove("<")
m.remove(">")

print m 

>>>['a', 'b', 'c', 'd']

编辑:刚刚看到你的编辑,它没有多大意义 - 你不能有两个不同的值占用相同的列表索引空间(在你的情况下为m [2])

答案 2 :(得分:0)

如何正确拆分字符串以开始?

import re
from pprint import pprint

s ="< one > < two > < three > < four : 1 > < five : 2 > < six : 3 > < seven : 4 > < eight : 5 > < nine : 6 >"
res = re.findall('< (.*?) >', s)
pprint(res)

给你:

['one',
 'two',
 'three',
 'four : 1',
 'five : 2',
 'six : 3',
 'seven : 4',
 'eight : 5',
 'nine : 6']