-1

我正在使用 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。我正在解析它,以便以后可以将值存储到数据库中。这就是为什么我需要消除 < 。

实际代码:

    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

输出:

原名单

< 一

四:1

五:2

六:3

七:4

八:5

九:6 >

4

3 回答 3

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 ']
于 2013-03-01T05:00:22.713 回答
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']
于 2013-03-01T06:28:36.660 回答
0

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

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

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

print m 

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

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

于 2013-03-01T05:39:00.050 回答