목록 데이터 조작
목록의 여러 부분을 사용해야 할 수 있습니다. 예를 들어 여러 달 동안의 강우량이 포함된 목록이 있다고 가정합니다. 이러한 유형의 데이터를 제대로 분석하려면 3개월 동안의 강우량을 찾아야 할 수 있습니다. 또는 강우량이 가장 많은 것부터 가장 적은 순서로 목록을 정렬할 수 있습니다.
Python은 목록의 데이터 사용에 대한 강력한 지원을 제공합니다. 이러한 지원에는 데이터 조각화(일부만 검사) 및 정렬이 포함됩니다.
목록 조각화
조각을 사용하여 목록의 일부를 검색할 수 있습니다. 조각은 대괄호를 사용하지만 단일 항목 대신 시작 및 끝 인덱스가 있습니다. 조각을 사용하는 경우 시작 인덱스에서 시작하여 끝 인덱스보다 먼저 끝나는(끝 인덱스를 포함하지 않는) 새 목록을 만듭니다.
행성 목록에는 8개의 항목이 있습니다. 지구는 목록에서 세 번째 항목입니다. 지구 앞에 있는 행성을 가져오려면 조각을 사용하여 0부터 시작하여 2로 끝나는 항목을 가져옵니다.
planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]
planets_before_earth = planets[0:2]
print(planets_before_earth)
출력: ['Mercury', 'Venus']
지구가 어떻게 목록에 포함되지 않았는지 유의하세요. 그 이유는 인덱스가 끝 인덱스 전에 종료되기 때문입니다.
지구 다음 모든 행성을 가져오려면 세 번째에서 시작하여 여덟 번째로 이동합니다.
planets_after_earth = planets[3:8]
print(planets_after_earth)
출력: ['Mars', 'Jupiter', 'Saturn', 'Uranus', 'Neptune']
이 예제에서는 해왕성이 표시됩니다. 그 이유는 해왕성의 인덱스가 7
이고 인덱스가 0
에서 시작되기 때문입니다. 끝 인덱스가 8
이므로 마지막 값을 포함합니다. 중지 인덱스를 조각에 배치하지 않으면 Python은 목록의 끝으로 이동하려는 것으로 가정합니다.
planets_after_earth = planets[3:]
print(planets_after_earth)
출력: ['Mars', 'Jupiter', 'Saturn', 'Uranus', 'Neptune']
중요
조각은 새 목록을 만듭니다. 현재 목록은 수정되지 않습니다.
목록 조인
조각을 사용하여 목록을 분할하는 방법을 살펴보았습니다. 목록 조인은 어떤가요?
두 목록을 조인하려면 두 목록과 함께 다른 연산자(+
)를 사용하여 새 목록을 반환합니다.
목성의 알려진 위성은 79개입니다. 가장 큰 4개 위성은 이오, 에우로파, 가니메데, 칼리스토입니다. 이러한 달을 갈릴레이 위성이라고 부르는데 갈릴레오 갈릴레이가 1610년에 망원경을 사용하여 발견했기 때문입니다. 아말테아 그룹은 갈릴레이 그룹보다 목성에 가까이 있습니다. 아말테아 그룹은 위성 메티스, 아드라스테아, 아말테아, 테베로 구성되어 있습니다.
두 개의 목록을 만듭니다. 첫 번째 목록을 4개의 아말테아 위성으로, 두 번째 목록을 4개의 갈릴레이 위성으로 채웁니다. 새 목록을 만들려면 +
를 사용하여 함께 조인합니다.
amalthea_group = ["Metis", "Adrastea", "Amalthea", "Thebe"]
galilean_moons = ["Io", "Europa", "Ganymede", "Callisto"]
regular_satellite_moons = amalthea_group + galilean_moons
print("The regular satellite moons of Jupiter are", regular_satellite_moons)
출력: The regular satellite moons of Jupiter are ['Metis', 'Adrastea', 'Amalthea', 'Thebe', 'Io', 'Europa', 'Ganymede', 'Callisto']
중요
목록을 조인하면 새 목록이 만들어집니다. 현재 목록은 수정되지 않습니다.
목록 정렬
목록을 정렬하려면 목록에서 .sort()
메서드를 사용합니다. Python은 문자열 목록을 사전순으로, 숫자 목록을 숫자순으로 정렬합니다.
amalthea_group = ["Metis", "Adrastea", "Amalthea", "Thebe"]
galilean_moons = ["Io", "Europa", "Ganymede", "Callisto"]
regular_satellite_moons = amalthea_group + galilean_moons
regular_satellite_moons.sort()
print("The regular satellite moons of Jupiter are", regular_satellite_moons)
출력: The regular satellite moons of Jupiter are ['Adrastea', 'Amalthea', 'Callisto', 'Europa', 'Ganymede', 'Io', 'Metis', 'Thebe']
목록을 역순으로 정렬하려면 목록에서 .sort(reverse=True)
를 호출합니다.
amalthea_group = ["Metis", "Adrastea", "Amalthea", "Thebe"]
galilean_moons = ["Io", "Europa", "Ganymede", "Callisto"]
regular_satellite_moons = amalthea_group + galilean_moons
regular_satellite_moons.sort(reverse=True)
print("The regular satellite moons of Jupiter are", regular_satellite_moons)
출력: The regular satellite moons of Jupiter are ['Thebe', 'Metis', 'Io', 'Ganymede', 'Europa', 'Callisto', 'Amalthea', 'Adrastea']
중요
sort
를 사용하면 현재 목록이 수정됩니다.