-1

私はPythonで2次元リストを使用しています

文字列のリストがあります(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 ="< 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

4:1

5:2

6:3

セブン:4

8:5

9: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

出力が正しく表示されません-アイテムをリストに保存していますか?リストについて調査することをお勧めします。それがわかったら、remove()メソッドを使用するだけです。

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

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

print m 

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

編集:あなたの編集を見ただけで、それはあまり意味がありません-同じリストインデックススペース(あなたの場合はm [2])を占める2つの異なる値を持つことはできません

于 2013-03-01T05:39:00.050 に答える
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 に答える