2016-07-19 9 views
-1

リストの各文字列の先頭にあるappleをオレンジ色に置き換えるにはどうすればよいですか?ここで リストの特定の部分のみを置き換える方法は?

は、私が試したものです:

appleList = ['apple_00', 'apple_01', 'apple_02', 'apple_03'] 

appleList = ['orange' if 'apple' in appleList] 

print appleList 

出力:['apple_00', 'apple_01', 'apple_02', 'apple_03']

所望の出力:['orange_00', 'orange_01', 'orange_02', 'orange_03']

答えて

3

あなたは、リスト内の文字列を変更するreplaceメソッドを使用する必要があります。

>>> my_list = ['Apple_00', 'Apple_01', 'Apple_02', 'Apple_03'] 
>>> print([s.replace('Apple', 'Orange') for s in my_list]) 

これはサイドノートとして

['Orange_00', 'Orange_01', 'Orange_02', 'Orange_03'] 

を印刷しますごとに小文字の名前を実際に使用する必要があります。

0

使用replace項目がAppleが含まれています。

これはそれをしない:

r = [x.replace('Apple', 'Orange') for x in Register] 

print(r) 
# ['Orange_00', 'Orange_01', 'Orange_02', 'Orange_03'] 
0

リスト内の特定の要素が'Apple'の文字列であることを確認していますが、明らかに決してTrueではありません。

Register = ['Apple_00', 'Apple_01', 'Apple_02', 'Apple_03'] 
New_Register = [] 

for entry in Register: 
    New_Register.append(entry.replace('Apple', 'Orange')) 

print Register 
print New_Register 

それとも、単にリストの内包表記を使用します:

Register = ['Apple_00', 'Apple_01', 'Apple_02', 'Apple_03'] 
Register = [x.replace('Apple', 'Orange') for x in Register] 

print Register 

・ホープ、このことができますあなたはこのようにそれを行うことができます!

+0

@Selcuk - Typo固定、ありがとう! – linusg

+0

@Selcuk - 私は大文字の変数名についてはちょっと混乱していましたが、これは通常クラスに使用されています。私はアンダースコアで小文字の変数名のみを使用しています... – linusg

関連する問題