Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python N까지 하위 목록 요소 가져 오기

<시간/>

이 튜토리얼에서는 목록의 n번째 하위 목록까지 하위 목록 요소를 반환하는 프로그램을 작성할 것입니다. 5개의 하위 목록이 있는 다음 목록이 있다고 가정해 보겠습니다.

[['파이썬', '자바'], ['C', '파스칼'], ['자바스크립트', 'PHP'], ['C#', 'C++'], ['React ', '각도']] 이제 처음 세 하위 목록에서 첫 번째 요소를 가져와야 합니다. 우리는 요소를 다른 접근 방식으로 얻을 수 있습니다. 그 중 일부를 살펴보겠습니다.

루프

대부분의 프로그래머가 더 일반적이고 가장 먼저 생각하는 것은 루프를 사용하는 것입니다. 루프를 사용하는 코드를 봅시다.

# initializing the list and N
random_list = [['Python', 'Java'], ['C', 'Pascal'], ['Javascript', 'PHP'], ['C#
C++'], ['React', 'Angular']]
N = 3
# empty list to store final elements from the sublists
desired_elements = []
# iterating over the list till 3rd element
for i in range(N):
   # storing the first element from the sublist
   desired_elements.append(random_list[i][0])
# printing the elements
print(desired_elements)

출력

위의 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.

['Python', 'C', 'Javascript']

목록 이해를 사용할 수 있습니다. for 루프 대신 . 목록 이해를 사용하여 동일한 코드를 봅시다.

# initializing the list and N
random_list = [['Python', 'Java'], ['C', 'Pascal'], ['Javascript', 'PHP'], ['C#
C++'], ['React', 'Angular']]
N = 3
# getting first element from the sublists
desired_elements = [sublist[0] for sublist in random_list[:N]]
# printing the elements
print(desired_elements)

출력

위의 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.

['Python', 'C', 'Javascript']

기본 제공 방법 사용

Python은 많은 내장 모듈과 메서드를 제공합니다. 그것들을 사용하여 우리 문제를 해결합시다. map, itemgetter를 사용할 것입니다. , 및 islice 예상대로 출력을 달성하는 방법입니다. 코드를 살펴보겠습니다.

# importing the required methods
import operator # for itemgetter
import itertools # for islice
# initializing the list and N
random_list = [['Python', 'Java'], ['C', 'Pascal'], ['Javascript', 'PHP'], ['C#
C++'], ['React', 'Angular']]
N = 3
# getting first element from the sublists
desired_elements = list(map(operator.itemgetter(0), itertools.islice(random_list, N)))
# printing the elements
print(desired_elements)

출력

위의 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.

['Python', 'C', 'Javascript']

결론

첫 번째 요소 대신 모든 요소를 ​​사용할 수 있습니다. 우리는 데모를 위한 첫 번째 요소를 가져왔습니다. 튜토리얼에서 의문점이 있으면 댓글 섹션에 언급하세요.