Python에서 DropWhile을 사용하여 실습 중이며 충돌이 발생했습니다. 예를 들어DropWhile 두 개의 특정 라인 사이에서 추출합니다.
이 파일에 라인 인 경우
Test1
Test2
Test3
Test4
Test5
Test6
Test7
Test8
Test9
Test10
은 내가 Test5과 TEST8 사이의 줄을 당겨 싶다.
다른 방법 (파일의 줄을 ... 줄의 마지막 줄을 가져 오는 중 ... 줄이 5면 .... 줄 경우 < 8 ... 인쇄); 하지만 특별히 DropWhile을 사용하여 연습하고 싶습니다.
나는이 몇 가지 방법을 시도했지만 난 일하러 수없는 것 :예를
dataset = open(sys.argv[1]).readlines()
def print_out(line):
if int(line.strip()[-1]) > 5:
if int(line.strip()[-1]) < 8:
return True
else:
return False
for line in dropwhile(lambda line: print_out(line) == True, dataset):
print line.strip()
이 작동하지 않는 모든 라인이 인쇄되어 있습니다.
내가 별도의 기능을 사용하는 대신 dropwhile 라인에서 오랜 람다 표현식을 사용하려고했으나 또 다른 방법 I는 다음과 같이했을 때 : 나는 단 하나 개의 표현이있는 경우
for line in dropwhile(lambda line: 5 < int(line.strip()[-1]) < 8, dataset):
이 코드는 작동을 (즉 int (line.strip() [- 1])> 5 또는 int (line.strip() [- 1]) < 8입니다.
내 테스트 데이터 세트에서 Test5와 Test8 사이의 줄을 빼내기 위해 누군가 DropWhile을 사용하여 나를 파이썬 적 방식으로 보여줄 수 있는지 궁금합니다.
다른 방법으로는 생성기 표현식에 대해 다음을 반복합니다. for line inst (line.strip() [- 8] :' – jedwards