2012-01-01 4 views
-2

가능한 중복 교체 : 파이썬에서
Python and Line Breaks파이썬 목록

나는 당신의 처리 문자열을 사용할 수있는 경우 "대체"문자열에서 특정 문자를 대체하는 것을 알고있다. 예 :

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]처럼, 정말 목록 자체에서 대체 할 쉼표가 없습니다. 목록에 2, 5 등의 항목이 포함되어있는 경우 쉼표는 항목을 시각적으로 구분하기 쉽도록 외부 표현의 일부일뿐입니다.

목록에서 쉼표없이 출력 양식을 생성하려면 여러 가지 기술을 사용할 수 있습니다. 예를 들어, 쉼표없이 하나의 문자열로 모두를 조인을 사용합니다 :이 25689로 평가됩니다

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

.

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에서 51,515,

:

for each in h: print(each) 

리스트는 단순히 데이터의 표현이다. 출력에서 보이는 방식에만 영향을 미칠 수 있습니다.

0

','는 문자열 자체의 일부이기 때문에 ','를 대체 할 수 있지만 목록의 항목이 아니기 때문에 목록에서 ','을 바꿀 수 없습니다 Python에서 이러한 목록의 다른 항목을 여는 대괄호와 닫는 대괄호로 구분하는 데 사용됩니다. 문자열을 만드는 데 사용 된 '' '을 바꿀 수 있는지 묻는 것과 같습니다.다른 한편으로는 ','목록에서 항목이며, 당신은 다음과 같은 지능형리스트를 사용할 수있는 줄 바꿈 항목으로 교체하려는 경우 :

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

또는 당신은 각 항목을 인쇄하려면 당신이 사용할 수있는 한 줄 :

for item in list: 
    print item