2012-01-01 5 views
-2

可能性の重複を交換してください:Pythonで
Python and Line BreaksPythonのリストは、

は、私はあなたの取扱いの文字列は、使用することができたときに、「置換」列内の特定の文字を交換することを知っています。例:

h = "2,3,45,6" 
h = h.replace(',','\n') 
print h 

Returns: 
2 
3 
45 
6 

リストを作成するにはどうすればよいですか?たとえば、リスト内のすべての "、"を "\ n"に置き換えますか?以下のような

リスト:

h = ["hello","goodbye","how are you"] 

"hello" 
"goodbye" 
"how are you" 

、スクリプトはこのような何かを出力する必要があります

任意の提案を参考になります!

+0

あなたは何を意味するのでしょうか。それを適用したいリストの簡単な例を挙げてください。 – Amadan

+0

確かに、詳細は文字のリストか小さい文字列(例:行)のリストを持っているかによって異なります。入力と出力の例を挙げてください。 – delnan

+0

これは文字列のリストではないので、最初は ''、 ''が含まれていません。これからどのような成果を得たいですか? '' 2 \ n5 \ n6 \ n8 \ n9 "'ならば、\ n ".join(h)'が動作するはずです。しかし、実際には "置き換える"というわけではありません。 – Amadan

答えて

2

あなたはそのために、リストの内包表記を使用することができます。

>>> search = 'foo' 
>>> replace = 'bar' 
>>> lst = ['my foo', 'foo', 'bip'] 
>>> print [x.replace(search, replace) for x in lst] 
['my bar', 'bar', 'bip'] 
1

を一覧でごh = [2,5,6,8,9]のように、本当にリスト自体に置き換えるために何カンマはありません。リストには25などの項目が含まれていますが、コンマは視覚的に項目を分けやすくするために外部表現の一部にすぎません。

リストからコンマを除いていくつかの出力フォームを生成するには、任意の数の手法を使用できます。たとえば、カンマ、使用せずに単一の文字列にそれらすべてを参加する:

"".join([str(x) for x in h]) 

これは25689と評価されます。

5

あなたの例と欲望を見ると、あなたはstr.joinを使用することができ、これはあなたが本当に二重引用符をwan't場合は、あなたの第二の例

>>> h = ["hello","goodbye","how are you"] 
>>> print '\n'.join(str(i) for i in h) 
hello 
goodbye 
how are you 

ため

>>> h 
['2', '3', '45', '6'] 
>>> print '\n'.join(str(i) for i in h) 
2 
3 
45 
6 

同様に何をしたい、おそらくです文字列のマークは次のものを使用できます

>>> h = ["hello","goodbye","how are you"] 
>>> print '\n'.join('"{0}"'.format(i) if isinstance(i,str) else str(i) for i in h) 
"hello" 
"goodbye" 
"how are you" 
>>> 
0
.xでは

for each in h: print(each) 

リストは、単にデータの表現です。出力での表示方法にのみ影響します。

0

'、'は文字列自体の一部ですが、リスト内のアイテムではなく、リスト内の '、'を置き換えることはできませんそのようなリスト内のさまざまな項目を開閉記号で囲むためにpythonで使用されています。文字列の作成に使用された '' 'を置き換えることができるかどうかを確認するのと同じです。一方「」リスト内の項目があり、あなたは、あなたは次のようにリストの内包表記を使用することができ改行アイテムと交換する場合:

['\n' if x=="," else x for x in yourlist] 

か、上の各項目を印刷したい場合あなたが使用できる単一の行:

for item in list: 
    print item