next()에 I read the documentation 그리고 나는 그것을 추상적으로 이해합니다. 내가 아는 바로는 next()는 반복 가능한 객체에 대한 참조로 사용되며 파이썬을 다음 반복 가능한 객체로 순차적으로 순환시킵니다. 말이된다! 내 질문에, 루프 내에서 어떻게 유용할까요? 언제 누군가가 next()를 직접 사용해야합니까? 누군가 단순한 예를 제시 할 수 있습니까? 고마워요!내장 next() 함수에 대한 이해
1
A
답변
2
예를 들어 next
을 사용할 수있는 곳이 많이 있습니다.
파일을 읽는 동안 헤더를 버립니다. zip(seq, seq[1:])
(pairwise
recipe iterools)에서의
with open(filename) as f:
next(f) #drop the first line
#now do something with rest of the lines
반복자 기반 구현 :
from itertools import tee, izip
it1, it2 = tee(seq)
next(it2)
izip(it1, it2)
조건을 만족하는 제 항목 얻기 :
next(x for x in seq if x % 100)
키 값과 인접하는 항목을 이용하여 사전 생성을 :
>>> it = iter(['a', 1, 'b', 2, 'c', '3'])
>>> {k: next(it) for k in it}
{'a': 1, 'c': '3', 'b': 2}
4
운에는 그것이 있기 때문에, 나는 한 어제 쓴 :
이def skip_letters(f, skip=" "):
"""Wrapper function to skip specified characters when encrypting."""
def func(plain, *args, **kwargs):
gen = f(p for p in plain if p not in skip, *args, **kwargs)
for p in plain:
if p in skip:
yield p
else:
yield next(gen)
return func
이 발전기 기능 f
의 반환 값을 얻을 수 next
를 사용하지만, 다른 값 산재. 이렇게하면 일부 값이 생성기를 통과 할 수 있지만 다른 값은 곧바로 생성됩니다.
1
next
은 for-loop 외부에서도 다양한 방법으로 유용합니다. 당신이 객체의 반복자가 있고이 조건을 만족하는 첫 번째하려는 경우 예를 들어, 당신과 같이 그것을 generator expression를 제공 할 수 있습니다 :
>>> lst = [1, 2, 'a', 'b']
>>> # Get the first item in lst that is a string
>>> next(x for x in lst if isinstance(x, str))
'a'
>>> # Get the fist item in lst that != 1
>>> lst = [1, 1, 1, 2, 1, 1, 3]
>>> next(x for x in lst if x != 1)
2
>>>
관련 문제
- 1. Netbeans 내장 PHP 함수에 대한 코드 강조
- 2. 비단뱀 범위 함수에 대한 깊은 이해
- 3. SSE 내장 함수에 해당하는 네온
- 4. SHA 내장 함수에 어떻게 액세스합니까?
- 5. ARM Neon 내장 함수에 대한 좋은 참고 자료가 있습니까?
- 6. C++의 재귀 함수에 대한 참조로 내장 스택 전달 방법
- 7. t-sql 내장 함수에 대한 동의어를 만들 수 있습니까?
- 8. 파이썬에는 모든 내장 함수에 대한 마법 메서드가 있습니까?
- 9. 내장 파이썬 함수에 대한 모든 예외 사항이 문서화되어 있습니까?
- 10. uWSGI로 작업 할 때 Django의 내장 Python 함수에 대한 NameError
- 11. 오버 라이딩 된 내장 함수에 대한 핸들을 얻는 방법?
- 12. Python : mock.create_autospec()이 내장 함수에 대한 인수 검사를 수행하지 않습니다.
- 13. LLVM IR에 내장 함수에 대한 코드가 포함되어 있습니까
- 14. AVX 유형의 C++ 내장 함수에 대한 참조 및 온라인 리소스
- 15. 액세스 내장 스토리지 특정 폴더는 이해
- 16. 이해 오라클 분석 함수에 도움이 필요
- 17. 네덜란드 국기 프로그램에 대한 이해
- 18. python 내장 함수에 새로운 메서드 추가
- 19. Lua의 내장 문자열 해시 함수에 액세스
- 20. 함수에서 내장 함수에 여러 인수 추가
- 21. Python : 인수가있는 함수를 내장 함수에 전달 하시겠습니까?
- 22. jQuery (this) .find ('title'). next(). next(). next(). eq (0) .text() ;?
- 23. 함수에 대한 포인터 호출하기
- 24. PhpStorm JSON 함수에 대한 경고
- 25. 함수에 대한 포인터에 대한 게터을 writting
- 26. MySql에 대한 이해 Auto_Increment
- 27. 'this'에 대한 IE의 이해
- 28. 데이터베이스의 트랜잭션에 대한 이해
- 29. 에 대한-이해
- 30. Python의 dictionary.get에 대한 이해
이 관련 보인다 http://stackoverflow.com/questions/10414210/python-why-should-i-use-next-and-not-obj-next – Dan
이러한 종류의 메소드는, 포인터를 객체에 반복 해 넣을 때에 만 유용합니다. 해당 목록 (또는지도)의 메모리 주소입니다. 목록 (외부 루프)에 대한 간단한 액세스를 위해 키 - 카운터 원칙을 사용해야합니다. –