목록의 각 항목에 대해 공백을 대시로 대체하는이 루프를 단순화하는 방법이 있습니까? 이 더목록의 각 항목에 대해 공백을 대시로 바꿉니다. -python
for item in a_list:
alist[alist.index(item)] = '-'.join(item.split(" "))
또는인가?
for item in a_list:
alist[alist.index(item)] = item.replace(" ", "-")
참고 : 위의 솔루션은 다윗이 제안, 위의 작업을 수행 할 지능형리스트를 사용하여이 목록의 첫번째 발생을 업데이트합니다.
단어 목록이 있고 일부는 대시가 있습니다. a_list의 항목은 다음과 같습니다
this-item has a-dash
this has dashes
this should-have-more dashes
this foo
doesnt bar
foo
bar
출력 목록의 모든 항목이 대신 공백의 대시가 있어야 곳, 같이한다 :
this-item-has-a-dash
this-has-dashes
this-should-have-more-dashes
this-foo
doesnt-bar
foo
bar
'.index'가 항목의 첫 번째 색인을 반환하기 때문에 목록에 중복 항목이있는 경우 두 가지 솔루션이 작동하지 않습니다. – jamylak
jamylak, 데이비드의 목록 이해력 솔루션은 목록을 조작하는 무언가의 방법입니다. – alvas
목록 이해력을 사용하는 것이 더 많은 파이썬이며, 일반적으로 더 간단하고 유연성이 뛰어나지 만, 목록 이해를 사용하지 않고 제자리에서 목록을 조작 할 수있는 방법을 이해하는 것은 가치가 있습니다 'index' 문제는 어느 시점에 나타날 것입니다. – abarnert