다른 유형의 데이터 (문자열, 정수 등)가있는 목록이 있습니다. 예를 들어, int 요소 만있는 새 목록과 문자열 요소 만있는 목록을 만들어야합니다. 그것을하는 방법?목록의 각 요소 유형별 필터링 요소
답변
당신은 list comprehension으로이 작업을 수행 할 수 있습니다
integers = [elm for elm in data if isinstance(elm, int)]
가 data
데이터는 어디에. 위의 작업은 새 목록을 만들고 if
다음에 오는 조건을 충족하는 요소 인 data
(elm
)을 채우고 요소가 int
의 인스턴스인지 확인합니다. 또한 filter
를 사용할 수 있습니다
integers = list(filter(lambda elm: isinstance(elm, int), data))
는 위의 모든 비 정수를 필터링 전달 된 람다를 기반으로 요소를 필터링합니다. 그런 다음 문자열에 적용하여 isinstance(elm, str)
을 사용하여 문자열의 인스턴스가 있는지 확인할 수 있습니다.
대단히 고맙습니다! –
@IlyaSpark 아무 문제 없어, 기꺼이 도와 드리겠습니다 – Li357
정렬 유형별로 목록 다음 그룹에 groupby
을 사용하는 것이 :
>>> import itertools
>>> l = ['a', 1, 2, 'b', 'e', 9.2, 'l']
>>> l.sort(key=lambda x: str(type(x)))
>>> lists = [list(v) for k,v in itertools.groupby(l, lambda x: str(type(x)))]
>>> lists
[[9.2], [1, 2], ['a', 'b', 'e', 'l']]
OP는 하위 목록없이 별도의 목록을 원하지만 그럼에도 불구하고 훌륭한 대답입니다! – Li357
@AndrewL. - 아직 별개입니다. 그들은 단지 수제 라벨을 가지고 있지 않습니다. 그러나 대신 사전을 사용하여 쉽게 수행 할 수 있습니다. 'list = {k : list (v) for k, v itertools.groupby (l, lambda x : str (type (x)))}'에서 list. 물론 이름이 자동으로 생성되고 쉽게 구성 될 수 있다는 이점이 있습니다. – TigerhawkT3
- 1. 목록의 요소 VS 요소 자체
- 2. boost mpl 목록의 각 유형별 컨테이너 상속
- 3. Ant flaka : 목록의 각 요소 수정
- 4. 목록의 각 요소 수를 구하는 방법은 무엇입니까?
- 5. Prolog : 기존 목록의 각 요소 작성하기
- 6. select.list를 사용하여 목록의 각 요소 이름 바꾸기
- 7. 자바 스크립트 - 색인 배열/목록의 각 요소
- 8. 중첩 목록의 각 요소 간 이동
- 9. 괄호로 목록의 요소 인쇄
- 10. 목록의 개별 요소 곱하기
- 11. 스칼라 목록의 요소 결합
- 12. SML 목록의 요소 확인
- 13. 하위 목록의 평균 요소
- 14. 2D 목록의 요소 액세스
- 15. 파이썬 목록의 요소 수정하기
- 16. Mod_Rewrite - 파일 유형별 필터링
- 17. 파일 유형별 필터링 방법
- 18. tagName의 필터링 요소
- 19. 스위프트 필터링 배열 요소
- 20. jQuery - id로 요소 필터링
- 21. NSArray 문자열 요소 필터링
- 22. 목록의 요소 확장하기
- 23. 목록의 모든 요소 표시
- 24. 같은 목록의 그룹 요소
- 25. 목록의 요소 간 대시
- 26. 목록의 여러 요소 반환
- 27. __add__ 목록의 모든 요소
- 28. 가방 목록의 요소 이동
- 29. 목록의 무작위 요소 - Python
- 30. 연결된 목록의 반환 요소
사용'for' 루프와'isinstance (요소, INT)'등 – furas
그리고 당신은 시도 할 수있는' 필터 '방법 또는 목록 이해 –