3

できないし、何が悪いのかわからない。スペースを取り除こうとしているリストは次のとおりです。

['L500', '    ', '622651    ', '2007', '   452295.00', '        7420', '   0']

ただし、間にスペースがあります。lstriprstripregex、 、splitを試しましたがjoinreplace何も機能しません。リストは変更されません。

for item in row:
            item.lstrip()
            item.rstrip()
            print row

それが私のコードです。lstrip、rstrip を、私が言及した他の方法に置き換えます。

Python 2.7 を使用しています。

4

3 に答える 3

7

Python (および他の多くの言語) の文字列は不変です。つまり、文字列に対して操作を行うと、既存の項目を変更するのではなく、その文字列の新しいインスタンスが返されます。必要なことを行うには、リスト内のアイテムに再署名する必要があります。

for index, item in enumerate(row):
    row[index] = item.strip()
于 2013-07-12T11:30:27.610 に答える
4

リスト内包表記の使用:

row = [x.strip() for x in row]
于 2013-07-12T11:32:52.153 に答える
3

別の方法:

>>> row = map(lambda x: x.strip(), row)
于 2013-07-12T11:41:18.493 に答える