파이썬에서 배열과 목록이 작동하는 방식

파이썬에서 배열과 목록이 작동하는 방식

배열과 목록은 프로그래밍에서 가장 유용한 데이터 구조 중 일부입니다. 하지만 실제로 이를 최대한 활용하는 사람은 거의 없습니다. 오늘은 간단한 Python 예제와 함께 기본 사항을 설명하겠습니다.





전제 조건

이러한 개념을 배우기 위해 미리 알아야 할 사항은 많지 않습니다. 프로그래밍 패러다임과 Python에 대한 기본 지식이 도움이 되지만 필수는 아닙니다. 우리의 읽기 기본 파이썬 예제 어디서부터 시작해야 할지 모르겠다면. Python이 쓸모없는 언어라고 생각한다면 왜 그렇지 않은지 확인하십시오.





다음 기본 아이디어는 모든 언어에 적용할 수 있지만 Python으로 예제를 시연하겠습니다. 배우기 쉬운 언어이며 진행 상황을 이해할 수 있는 훌륭한 플랫폼을 제공합니다. 이 외에도, tutorialspoint.com 훌륭한 온라인 Python 인터프리터를 제공합니다. 원하지 않는 경우 Python을 설치할 필요도 없습니다(그렇다면 가상 환경 가이드를 확인하세요).





데이터 구조

무엇입니까 데이터 구조 ? 가장 기본적인 수준에서 데이터 구조는 데이터를 효율적으로 저장하는 방법입니다. 데이터 구조가 그렇지 않기 때문에 혼동하기 쉽습니다. 데이터 유형 . 데이터 유형은 컴파일러(또는 Python의 경우 인터프리터)에 데이터가 사용되는 방식을 알려줍니다. 데이터 구조는 수행할 수 있는 작업을 지정하고 종종 특정 규칙과 규정을 구현합니다.

당신은 일부에 대해 들었을 수도 있습니다 선의 데이터 유형(요소는 순차적임):



  • 정렬
  • 행렬
  • 룩업 테이블

비슷하게, 기울기 종종 작동 방식을 규제하는 규칙과 방법을 포함합니다. 몇 가지 일반적인 목록은 다음과 같습니다.

  • 연결 목록
  • 이중 연결 목록
  • 배열 목록 또는 동적 배열

다양한 데이터 구조가 많이 있습니다. 들어본 적이 있을 것입니다. 이진 트리 , 그래프 , 또는 해시 . 오늘은 기본 사항에 대해 논의할 것이지만 익숙해지면 더 배우고 싶을 수도 있습니다.





정렬

처음부터 시작합시다. 배열은 (관련) 값의 단순한 모음입니다. 이러한 값을 요소라고 합니다. 일반적으로 개체 또는 기타 목록을 포함하여 원하는 모든 데이터 유형이 될 수 있습니다! 배열의 주요 경고는 모든 데이터가 동일해야 한다는 것입니다. 혼합된 문자열과 정수를 저장할 수 없습니다. 너 거의 저장하려는 요소의 수를 항상 지정해야 합니다. 가변 크기 또는 동적 배열 존재하지만 고정 길이 배열은 시작하기가 더 쉽습니다.

파이썬은 일을 다소 복잡하게 만듭니다. 그것은 당신을 매우 쉽게 만들지 만 항상 데이터 구조의 엄격한 정의를 고수하지는 않습니다. Python의 대부분의 객체는 일반적으로 목록이므로 배열을 만드는 것이 실제로는 더 많은 작업입니다. 다음은 시작 코드입니다.





from array import array
numbers = array('i', [2, 4, 6, 8])
print(numbers[0])

첫 번째 줄은 다음을 가져옵니다. 정렬 모듈 -- 어레이와 함께 작동하는 데 필요합니다. 두 번째 줄은 이라는 새 배열을 만듭니다. 숫자 값 2, 4, 6, 8로 초기화합니다. 각 요소에는 정수 라는 값 열쇠 또는 인덱스 . 키 시작 시간 , 그래서 숫자[0] 첫 번째 요소( 2 ):

무엇인지 궁금해 할 수 있습니다. 'NS' 에 사용됩니다. 이것은 유형 코드 이는 파이썬에게 배열이 정수를 저장할 것임을 알려줍니다. 이런 종류의 것은 일반적으로 Python에서 필요하지 않습니다('비파이썬적'으로 간주됨). 그 이유는 간단합니다. Python의 배열은 운영 체제의 기본 C 배열에 대한 매우 얇은 래퍼입니다. 즉, 빠르고 안정적이지만 Python 구문을 항상 준수하지는 않을 수 있습니다.

일반 TV가 하지 않는 스마트 TV의 기능

이러한 배열에는 혼합 유형을 저장할 수 없습니다. 'makeuseof.com' 문자열을 저장하고 싶다고 가정해 보겠습니다.

numbers = array('i', [2, 4, 6, 'makeuseof.com'])

이것은 허용되지 않으며 예외가 발생합니다.

모든 요소를 ​​인쇄하는 방법은 다음과 같습니다.

print(numbers)

배열 요소에 액세스하는 이 방법은 잘 작동하며 올바른 작업에 적합합니다. 좋지 않은 것은 전체 배열에 액세스하는 것입니다. 프로그래머는 본질적으로 게으르므로 유지 관리를 더 쉽게 만들고 복사 및 붙여넣기 작업을 줄일 수 있다면 기꺼이 더 많은 더 나은 코드를 작성할 것입니다.

모든 프로그래밍 언어는 목록 요소를 반복(루핑)하는 데 완벽한 일종의 루프를 구현합니다. 가장 일반적인 루프는 동안 그리고 ~을위한 . Python은 다음을 제공하여 작업을 훨씬 더 쉽게 만듭니다. 에 대한 고리:

for number in numbers:
print(number)

키로 요소에 액세스할 필요가 없었는지 확인하십시오. 이것은 배열로 작업하는 훨씬 더 나은 방법입니다. 목록을 반복하는 다른 방법은 다음을 사용하는 것입니다. ~을위한 고리:

for i in range(len(numbers)):
print(numbers[i])

배열의 요소 수를 지정해야 했지만( 렌(자동차) ), 통과와 함께 NS 배열의 키로. 이것은 거의 정확히 다음과 같은 코드입니다. 에 대한 루프가 실행됩니다. 이 방법은 약간 더 많은 유연성을 제공하고 약간 더 빠릅니다(비록 에 대한 루프는 충분히 빠릅니다. 다수 시간의.)

기울기

배열이 어떻게 작동하는지 알았으니 이제 목록을 살펴보겠습니다. 사람들이 서로 다른 용어를 바꿔서 사용하고 목록을 나열하기 때문에 때때로 혼란스러울 수 있습니다. ~이다 배열... 일종의.

목록은 특별한 유형의 배열입니다. 가장 큰 차이점은 목록에 혼합 유형(배열은 동일한 유형의 요소를 포함해야 함을 기억하십시오). 목록은 Python에서 매우 쉽습니다.

가장 안전한 휴대폰 운영 체제
cars = ['Ford', 'Austin', 'Lancia']

가져올 필요가 없는지 확인하십시오. 정렬 기준 치수?

이 구문은 자동차라는 목록을 선언합니다. 대괄호 안에 목록의 각 요소가 선언됩니다. 각 요소는 쉼표로 구분되며 각 요소는 문자열이므로 따옴표 안에 선언합니다. 파이썬은 이것이 객체라는 것을 알고 있으므로 인쇄 문은 목록의 내용을 출력합니다.

print(cars)

배열과 마찬가지로 루프를 사용하여 목록 요소를 반복할 수 있습니다.

for car in cars:
print(car)

목록의 진정한 파티 트릭은 혼합 유형입니다. 계속해서 몇 가지 추가 데이터를 추가하십시오.

cars = ['Ford', 'Austin', 'Lancia', 1, 0.56]

이것은 Python에서는 문제가 되지 않습니다. 예외가 발생하지도 않았습니다.

목록에 새 요소를 추가하는 것은 쉽습니다(배열에서는 불가능한 것):

cars = ['Ford', 'Austin']
print(cars)
cars.append('Lancia')
print(cars)

두 개의 목록을 하나로 병합할 수도 있습니다.

cars = ['Ford', 'Austin']
print(cars)
other_cars = ['Lotus', 'Lancia']
cars.extend(other_cars)
print(cars)

를 사용하여 요소를 제거하는 것만큼 쉽습니다. 제거하다 통사론:

cars = ['Ford', 'Austin', 'Lotus', 'Lancia']
print(cars)
cars.remove('Ford')
print(cars)

파이썬에서 목록과 배열의 기초를 다룹니다. Google 스프레드시트 읽기 및 쓰기, json 데이터 읽기와 같은 코딩 프로젝트를 고려해 보십시오. 어쩌면 당신은 새로운 기술을 사용하여 일부를 만들 수 있습니다. 사용자 정의 바로 가기 버튼 . 다른 프로그래밍 언어에도 불구하고 이러한 배열 원칙은 여전히 ​​적용됩니다.

공유하다 공유하다 트위터 이메일 VirtualBox Linux 시스템을 강화하기 위한 5가지 팁

가상 머신이 제공하는 열악한 성능에 지쳤습니까? VirtualBox 성능을 높이려면 다음을 수행해야 합니다.

다음 읽기
관련 항목
  • 프로그램 작성
  • 프로그램 작성
  • 파이썬
저자 소개 조 코번(136건의 출판물)

Joe는 영국 링컨 대학교에서 컴퓨터 공학을 전공했습니다. 그는 전문 소프트웨어 개발자이며 드론을 날리거나 작곡을 하지 않을 때 종종 사진을 찍거나 동영상을 제작하는 모습을 볼 수 있습니다.

조 코번이 참여한 작품 더보기

뉴스레터 구독

기술 팁, 리뷰, 무료 전자책 및 독점 거래에 대한 뉴스레터에 가입하십시오!

구독하려면 여기를 클릭하세요.