lines = [["absb asdjhasd", "sadjhj sdhjsdh"], ["asjhjhad asdasd", " ashjhfdj asdasd"]]
for z in lines:
for l in z:
l = l.split()
print lines
어떻게 그 줄에는 현재 분할이 포함되어 있습니까? 어딘가에 복사본이있는 것 같습니다. Python 2.7파이썬리스트 직접 변경하기
lines = [["absb asdjhasd", "sadjhj sdhjsdh"], ["asjhjhad asdasd", " ashjhfdj asdasd"]]
for z in lines:
for l in z:
l = l.split()
print lines
어떻게 그 줄에는 현재 분할이 포함되어 있습니까? 어딘가에 복사본이있는 것 같습니다. Python 2.7파이썬리스트 직접 변경하기
l.split()
은 원래 문자열 개체에 영향을주지 않고 분할 결과를 반환하고 l =
은 목록 항목이 아니라 변수 만 다시 바인딩합니다.
당신은 너무 인덱스를 추적해야 할 것 :
for z in lines:
for index, l in enumerate(z):
z[index] = l.split()
을하거나 문자열을 분할하여 목록을 다시 작성하는 nested list comprehension을 사용할 수
lines = [[l.split() for l in z] for z in lines]
당신은 문자열로 교체 할 경우에 사용할 수 있습니다 그것의 쪼개짐을 가진
lines = [[l.split() for l in line] for line in lines]
나는 그것의 균열을 가진 각 끈을 교환하고 싶다. 그러나'l = l.split()'을했을 때 이것은 – user4517908
이라는 에러를 던진다. 실제 변수'lines'을 바꾸지는 않는다. – Alfie