배열과 목록은 프로그래밍에서 가장 유용한 데이터 구조 중 일부입니다. 하지만 실제로 이를 최대한 활용하는 사람은 거의 없습니다. 오늘은 간단한 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 성능을 높이려면 다음을 수행해야 합니다.
다음 읽기 관련 항목- 프로그램 작성
- 프로그램 작성
- 파이썬
Joe는 영국 링컨 대학교에서 컴퓨터 공학을 전공했습니다. 그는 전문 소프트웨어 개발자이며 드론을 날리거나 작곡을 하지 않을 때 종종 사진을 찍거나 동영상을 제작하는 모습을 볼 수 있습니다.
조 코번이 참여한 작품 더보기뉴스레터 구독
기술 팁, 리뷰, 무료 전자책 및 독점 거래에 대한 뉴스레터에 가입하십시오!
구독하려면 여기를 클릭하세요.