2017-11-23 17 views
0
a = ["I like apple","I love you so much"] 
私は「りんご」と「愛」の言葉以下で変更したい

: 「のように」、「オレンジ」が、私はそう、出力内の要素(文章)を変更する必要はありません何も変更は言葉orangelike以外のものでは発生しないはずですリスト間で交換

a= ["I like orange","I like you so much"] 

でなければなりません。スペースが追加されたり、削除されたりすることはありません。

+0

は 'STRを使用してください。 'replace': 'a = [s.replace( 'apple'、 'orange')。 '(' love '、' like 'など)を' –

答えて

0

あなたが使用することができます:あなたはそれがこれを試しているようままにしたい場合は

a[0].replace('apple', 'orange') 
a[1].replace('love', 'like') 
0

を、

>>> a = ["I like apple","I love you so much"] 
>>> [i.replace('apple','orange').replace('love','like') for i in a] 
['I like orange', 'I like you so much'] 
>>> 
0

あなたはこのような何かを探していますか? 次のコードは、リスト内の文字列をループし、appleまたはloveの文字列をチェックし、それに応じてorangeまたはlikeに置き換えてリストを返します。

[(i.replace("apple","orange") or i.replace("love","like")) for i in a] 

はここので を変更することはできません

>>> a = ["I like apple","I love you so much"] 
>>> [(i.replace("apple","orange") or i.replace("love","like")) for i in a] 
['I like orange', 'I love you so much'] 
+0

'に入れ替えてください。 >>> [i.replace ['私はオレンジが好き'、 'あまりにも大好き'] 優先事項 –

+0

@M( 'apple'、 'orange')または 'love'、 'like' OhideenibnMohammed更新を確認してください、私はサンプルの実行を追加しました。これは、OPが望んでいたものであると思われる。 –

0

文字列はPythonで不変で実行、すなわち、オリジナルを変更するには、新しい文字列を返しません

a[0].replace("apple","orange") 

ような呼び出しですリストの要素。

a[0]=a[0].replace("apple","orange") 

これは機能するはずです。

0
replace_map = [ 
    ('apple', 'orange'), 
    ('love', 'like') 
] 

def replace_all(s, m): 
    for k, v in m: 
    s = s.replace(k, v) 
    return s 

b = [replace_all(s, replace_map) for s in a] 
1

あなたはマッピングを行うための辞書持つことができます:あなたはlist of stringsを持って提供する、

word_mapping = { 
    'apple': 'orange', 
    'love': 'like' 
} 

そしてを:

def translate(text): 
    return reduce(lambda x, y: x.replace(y, word_mapping[y]), word_mapping, text) 

def translate_all(text_list): 
     return [translate(s) for s in text_list] 

例:

a = ["I like apple","I love you so much"] 
b = translate_all(a) 
print(b) 
# > ['I like orange', 'I like you so much'] 
0

リストの理解の使用、によって提案されたパトリック・ハウ、サッディーッシュSinganamallaとMohideenイブンモハメドは、より多くのニシキヘビ方法かもしれ...ステップと少ない神託によって ステップがあるさ:

>>> a = ["I like apple","I love you so much"] 
>>> for i in xrange(len(a)): 
...  if a[i].find('apple') is not -1: 
...    a[i]=a[i].replace('apple','orange') 
...  if a[i].find('love') is not -1: 
...    a[i]=a[i].replace('love','like') 
... 
>>> a 
['I like orange', 'I like you so much'] 

以上の直接的:

>>> for i in xrange(len(a)): 
...  a[i]=a[i].replace('apple','orange') 
...  a[i]=a[i].replace('love','like') 
... 
>>> a 
['I like orange', 'I like you so much'] 
関連する問題