당신이 목록의 두 번째 발생을 말을 뒤로이 트림하는 가장 쉬운 방법은 무엇트림 목록
`[1, 0, -1, 0, ';', 2, 0, 0, -1, ';', 0, 1, 0, -1, ';', 0, 1, -2, 0, ';', 0, 3, -6, 0, ';']`
이 말 구분하기 위해 출력,
[1, 0, -1, 0, ';', 2, 0, 0, -1, ';', 0, 1, 0, -1, ';', 0, 1, -2, 0]
당신이 목록의 두 번째 발생을 말을 뒤로이 트림하는 가장 쉬운 방법은 무엇트림 목록
`[1, 0, -1, 0, ';', 2, 0, 0, -1, ';', 0, 1, 0, -1, ';', 0, 1, -2, 0, ';', 0, 3, -6, 0, ';']`
이 말 구분하기 위해 출력,
[1, 0, -1, 0, ';', 2, 0, 0, -1, ';', 0, 1, 0, -1, ';', 0, 1, -2, 0]
def get_part(lst,sep=';'):
out = []
for i in lst:
if i == sep:
yield out
out = []
else:
out.append(i)
(귀하는 이미 previous question에 있습니다).
lst = list(get_part(yourlist))
output_list = []
for part in lst[:-2]:
output_list.extend(part)
output_list.append(';')
하지만 내 이전의 조언은 여전히 유효 :
지금, 그것을 트림, 우리는 목록으로 변환해야합니다. 더 나은 데이터 구조는 목록의 목록입니다.당신이 입력으로 목록이있는 경우, 당신은 ";"
의 인덱스를 찾기 위해 시도 할 수 및 작업 거기에서 : 당신, 오른쪽 * 문자열 *을 다듬을
>>> L = [1, 0, -1, 0, ';', 2, 0, 0, -1, ';', 0, 1, 0, -1, ';', 0, 1, -2, 0, ';', 0, 3, -6, 0, ';']
>>> idx = [i for (i,v) in enumerate(L) if v == ";"]
>>> L[:idx[-2]]
[1, 0, -1, 0, ';', 2, 0, 0, -1, ';', 0, 1, 0, -1, ';', 0, 1, -2, 0, ';', 0, 3, -6, 0, ';']
좋은 소식입니다. 나는 그것을 생각했으면 좋겠다. – mgilson
? 다른 * 문자열 *을 가져 오시겠습니까? –