2016-11-17 8 views
-1

을 작동하지 않는 것이델 X [N] 나는 목록을 나는 첫 번째 항목을 제거하기 위해 노력하고

이 코드를 사용하는 것을 시도했다, 그러나 아무것도하지 않는

del rows[rows.index(userInfo)][9].split()[0] 
컨텍스트

rows[rows.index(userInfo)][9].split() 

위한

이 문자열

인 문자열 다음 목록에 스트링을 분할하는 목록 항목을 발견
+0

* 기대 하시겠습니까? – Billy

+1

잘 작동합니다. 문자열을 분할하여 목록을 만들고, 첫 번째 항목을 삭제 한 다음 목록을 버립니다. – kindall

+0

당신은 단순히 폐기되는 목록의 첫 번째 요소를 삭제하는 중입니다 ... – Bakuriu

답변

0

당신은 pop()을 사용할 수 있습니다 이 같은 슬라이스와 인덱스 그것을 밖으로 나 :

rows[rows.index(userInfo)][9] = " ".join(rows[rows.index(userInfo)][9].split().pop()) 

또는

rows[rows.index(userInfo)][9] = " ".join(rows[rows.index(userInfo)][9].split()[1:]) 
+0

완벽 함, 나는 "."결합이 사용되어야한다는 느낌을 가졌지 만 실제로 이것을 어떻게 사용하는지 생각할 수는 없었지만 지금은 더 감각적이다. –

+1

와우, 어떻게 추측 했습니까? 다시 참여하고 싶었습니까? – derM

+0

그의 예제는 하위 목록의 10 번째 요소 만 참조하기 때문에 주 목록 ('rows')은 동 질적 하위 목록으로 구성되어 있으며 10 번째 요소를 참조 할 때 문자열과 목록이 혼합되어있는 것은 당연하지 않다고 생각했습니다. 참조가 무작위 (ish) 또는 심지어 반복 이벤트 인 경우 나중에 지정된 하위 목록 – Kyrubas

0

는 시도 당신이 한 줄에서 작업을 수행 할 때, 당신이 그렇게 익명의 목록에서 요소를 삭제 split()에 의해 생성 된 목록을 저장 실질적인 효과가 없습니다되지 않습니다

lst = rows[rows.index(userInfo)][9].split() 
del lst[0] 

다음과 같습니다. 먼저 변수에 목록을 지정하면 del으로 첫 번째 요소를 삭제 한 다음 원하는대로 목록에 대한 작업을 수행 할 수 있습니다.

0

문제는 지속성이없는 목록에서 항목을 삭제하려고한다는 것입니다.
....split()은 요소를 삭제하려고 시도한 목록을 반환합니다. 그러나이 목록은 저장되지 않습니다.
당신은 적어도 두 줄 필요 인플레 이스 작동하지 않습니다 split()으로

mylist = ....split() 
del mylist[0] 

을, 당신은 어쨌든 그것을 저장할 필요가 ... 그래서 당신은 또한 다음과 같이 작성할 수있다 :

mylist = foo.split()[1:]