Python의 내장 데이터 구조에 대한 자세한 설명
이 글은 Python에 내장된 5가지 데이터 구조와 동작 예제를 요약해서 소개하고 있으니 필요한 친구들이 참고하면 됩니다.
1. 리스트
리스트는 일련의 항목을 저장할 수 있는 데이터 구조입니다. 목록의 항목은 쉼표로 구분하고 한 쌍의 대괄호로 묶어 이것이 목록임을 나타내야 합니다. 다음 예는 목록의 몇 가지 기본 작업을 보여주는 데 사용됩니다.
# 定义一个 list 对象 class_list: class_list = ['Michael', 'Bob', 'Tracy'] # 获得一个 class_list 的长度 print 'class have', len(class_list), 'students' # 访问class_list中的对象 print 'The 3rd student in class is', class_list[2] # 往 class_list 中插入对象 class_list.append('Paul') # 从 class_list 中删除一个项目 del class_list[0] # 对 class_list 进行排序 class_list.sort() # 遍历整个class_list中的项目 print 'These students are :', for student in class_list: print student,
출력 결과는 다음과 같습니다.
class have 3 Students
세 번째 학생은 Tracy입니다.
이 학생은 다음과 같습니다. Bob Paul Tracy
에 대한 몇 가지 사항 위 코드는 다음 사항에 유의해야 합니다.
class_list에 모든 유형의 개체를 추가할 수 있습니다. 즉, 목록의 항목이 동일한 유형일 필요는 없습니다. class_list에 목록을 삽입할 수도 있습니다.
정렬 기능은 복사본을 반환하는 것이 아니라 자체적으로 작동하는데, 이는 문자열을 수정할 수 없기 때문에 문자열 유형과 다릅니다.
인쇄 함수의 end 키워드 매개변수는 입력이 완료된 후 출력을 지정하는 데 사용됩니다. 기본값은 개행 문자를 대체하기 위해 공백 문자를 사용합니다.
2. Tuple
tuple은 사용법이나 개념이 list와 크게 다르지 않습니다. 즉, 튜플이 정의되면 수정할 수 없습니다. 즉, 객체를 추가하거나 삭제할 수 없으며 튜플의 객체도 수정할 수 없습니다.
튜플의 항목도 쉼표로 구분해야 하며 항목을 괄호로 묶어서 튜플임을 나타내야 합니다. 이 괄호는 선택 사항입니다. 즉, 튜플은 다음 두 가지 방법으로 정의할 수 있습니다.
t = 'Adam', 'Lisa', 'Bart'
t = ('Adam', 'Lisa', 'Bart')
그러나 한 쌍의 괄호를 생략하는 것이 반드시 좋은 습관은 아닙니다. 또한 튜플에 항목이 하나만 있는 경우 첫 번째 항목 뒤에 쉼표가 있어야 합니다. 이 경우 t = ('Adam',) 은 다음과 같이 정의해야 합니다. 이는 이상한 제약처럼 보일 수 있지만 쉼표가 없으면 괄호 없이 정의된 튜플은 t = 'Adam'이 되며 이는 분명히 모호합니다.
3. 사전
사전은 키-값 쌍의 집합으로 볼 수 있습니다. 키는 고유해야 하며 각 키는 값과 연결되어 있습니다. 키는 불변 객체(예: 튜플, 숫자 유형, 문자열)여야 합니다. 또한 사전의 키-값 쌍은 어떤 방식으로도 정렬되지 않습니다.
사전의 정의는 d={key1 : value1, key2 : value2, key3 : value3} 형식이어야 합니다. 키와 값은 콜론으로 구분되고, 키-값 쌍은 쉼표로 구분되며, 모든 키-값 쌍은 중괄호로 묶입니다. 몇 가지 기본 연산은 다음과 같습니다.
# 字典的定义 d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 } # 通过键来获取值 print "Adam's score is", d['Adam'] # 删除一个键值对 del d['Bart'] # 遍历字典 for name, score in d.items(): print '{0} is {1}'.format(name, score) # 往字典中增加一个键值对 d['Paul'] = 72 # 判断字典中是否存在某键,也可以用 if ab.has_key('Lisa') if 'Lisa' in d: print "Lisa's address is", d['Lisa']
출력 결과는 다음과 같습니다.
Adam's score is 95 Lisa is 85 Adam is 95 Lisa's address is 85
IV. Sequences
위에 소개된 세 가지 내장 데이터 구조는 모두 시퀀스이며, 인덱스 연산은 시퀀스의 기본 연산입니다. . 시퀀스의 개체는 아래 첨자 작업을 통해 직접 액세스할 수 있습니다. 위에서 첨자 작업을 설명했지만 큐와 튜플에는 숫자가 첨자되고 사전에는 키워드가 첨자됩니다.
수열의 첨자는 0부터 시작합니다. 위의 예에서는 첨자만 양수입니다. 실제로 첨자는 -1,-2,-3...과 같이 음수일 수도 있습니다. 음수 아래 첨자는 반대 방향의 위치를 나타냅니다. 예를 들어 class_list[-1]은 class_list의 마지막 항목을 반환합니다.
이 시퀀스는 음수 첨자뿐만 아니라 이중 첨자도 지원합니다. 이 이중 첨자 쌍은 간격을 나타냅니다. 예를 들어, class_list[0:3]은 class_list의 아래 첨자 1에서 아래 첨자 3까지의 하위 시퀀스 복사본을 반환합니다. 이 구간은 반 닫힌 구간과 반 열린 구간의 쌍입니다. 이 작업을 슬라이싱 작업이라고 합니다. 슬라이싱 작업의 두 번째 인덱스가 시퀀스의 범위를 초과하는 경우 슬라이싱 작업은 시퀀스의 끝에서 종료됩니다. 슬라이싱 작업의 두 첨자는 모두 기본값을 가지며, 첫 번째의 기본값은 0이고 두 번째의 크기는 시퀀스의 길이입니다.
슬라이싱 작업에 대한 세 번째 매개변수를 제공할 수도 있습니다. 세 번째 매개변수는 슬라이싱 작업의 단계 크기를 나타냅니다. 단계 크기는 name[0:10:3]과 같은 항목 사이의 거리를 나타냅니다. 반환되는 것은 name의 아래 첨자 0, 3, 6, 9로 구성된 하위 시퀀스입니다.
5. 세트
세트는 정렬되지 않은 단순한 개체의 모음입니다. 집합은 객체가 존재하는 순서나 나타나는 횟수에 관계없이 객체가 컬렉션에 존재하는지 여부에만 관심이 있는 경우에 적합합니다. 기본 기능: 집합의 구성원인지 여부, 집합이 다른 집합의 부분 집합인지 여부, 두 집합의 교집합 구하기 등을 결정합니다. 예:
s = set(['Adam', 'Lisa', 'Bart', 'Paul']) # 判断对象是否在集合中 if 'Bart' in s: print "Bart is in ?", 'Bart' in s # 使用copy函数来拷贝一个set sc = s.copy() # 往集合中添加对象 sc.add('Bill') # 从集合中删除对象 sc.remove('Adam') # 求两个集合的交集,也可以使用 s.intersection(sc) print s & sc
출력 결과:
Bart is in ? True set(['Lisa', 'Paul', 'Bart'])
관련 권장 사항:
로컬 변수와 전역 변수에서 시작하는 Python의 변수 범위에 대한 종합 분석
위 내용은 Python의 내장 데이터 구조에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP와 Python은 고유 한 장점과 단점이 있으며 선택은 프로젝트 요구와 개인 선호도에 달려 있습니다. 1.PHP는 대규모 웹 애플리케이션의 빠른 개발 및 유지 보수에 적합합니다. 2. Python은 데이터 과학 및 기계 학습 분야를 지배합니다.

Python과 JavaScript는 커뮤니티, 라이브러리 및 리소스 측면에서 고유 한 장점과 단점이 있습니다. 1) Python 커뮤니티는 친절하고 초보자에게 적합하지만 프론트 엔드 개발 리소스는 JavaScript만큼 풍부하지 않습니다. 2) Python은 데이터 과학 및 기계 학습 라이브러리에서 강력하며 JavaScript는 프론트 엔드 개발 라이브러리 및 프레임 워크에서 더 좋습니다. 3) 둘 다 풍부한 학습 리소스를 가지고 있지만 Python은 공식 문서로 시작하는 데 적합하지만 JavaScript는 MDNWebDocs에서 더 좋습니다. 선택은 프로젝트 요구와 개인적인 이익을 기반으로해야합니다.

Docker는 Linux 커널 기능을 사용하여 효율적이고 고립 된 응용 프로그램 실행 환경을 제공합니다. 작동 원리는 다음과 같습니다. 1. 거울은 읽기 전용 템플릿으로 사용되며, 여기에는 응용 프로그램을 실행하는 데 필요한 모든 것을 포함합니다. 2. Union 파일 시스템 (Unionfs)은 여러 파일 시스템을 스택하고 차이점 만 저장하고 공간을 절약하고 속도를 높입니다. 3. 데몬은 거울과 컨테이너를 관리하고 클라이언트는 상호 작용을 위해 사용합니다. 4. 네임 스페이스 및 CGroup은 컨테이너 격리 및 자원 제한을 구현합니다. 5. 다중 네트워크 모드는 컨테이너 상호 연결을 지원합니다. 이러한 핵심 개념을 이해 함으로써만 Docker를 더 잘 활용할 수 있습니다.

VS 코드는 파이썬을 작성하는 데 사용될 수 있으며 파이썬 애플리케이션을 개발하기에 이상적인 도구가되는 많은 기능을 제공합니다. 사용자는 다음을 수행 할 수 있습니다. Python 확장 기능을 설치하여 코드 완료, 구문 강조 및 디버깅과 같은 기능을 얻습니다. 디버거를 사용하여 코드를 단계별로 추적하고 오류를 찾아 수정하십시오. 버전 제어를 위해 git을 통합합니다. 코드 서식 도구를 사용하여 코드 일관성을 유지하십시오. 라인 도구를 사용하여 잠재적 인 문제를 미리 발견하십시오.

vs 코드에서는 다음 단계를 통해 터미널에서 프로그램을 실행할 수 있습니다. 코드를 준비하고 통합 터미널을 열어 코드 디렉토리가 터미널 작업 디렉토리와 일치하는지 확인하십시오. 프로그래밍 언어 (예 : Python의 Python Your_file_name.py)에 따라 실행 명령을 선택하여 성공적으로 실행되는지 여부를 확인하고 오류를 해결하십시오. 디버거를 사용하여 디버깅 효율을 향상시킵니다.

VS 코드 확장은 악의적 인 코드 숨기기, 취약성 악용 및 합법적 인 확장으로 자위하는 등 악성 위험을 초래합니다. 악의적 인 확장을 식별하는 방법에는 게시자 확인, 주석 읽기, 코드 확인 및주의해서 설치가 포함됩니다. 보안 조치에는 보안 인식, 좋은 습관, 정기적 인 업데이트 및 바이러스 백신 소프트웨어도 포함됩니다.

파이썬은 자동화, 스크립팅 및 작업 관리가 탁월합니다. 1) 자동화 : 파일 백업은 OS 및 Shutil과 같은 표준 라이브러리를 통해 실현됩니다. 2) 스크립트 쓰기 : PSUTIL 라이브러리를 사용하여 시스템 리소스를 모니터링합니다. 3) 작업 관리 : 일정 라이브러리를 사용하여 작업을 예약하십시오. Python의 사용 편의성과 풍부한 라이브러리 지원으로 인해 이러한 영역에서 선호하는 도구가됩니다.

VS 코드는 Windows 8에서 실행될 수 있지만 경험은 크지 않을 수 있습니다. 먼저 시스템이 최신 패치로 업데이트되었는지 확인한 다음 시스템 아키텍처와 일치하는 VS 코드 설치 패키지를 다운로드하여 프롬프트대로 설치하십시오. 설치 후 일부 확장은 Windows 8과 호환되지 않을 수 있으며 대체 확장을 찾거나 가상 시스템에서 새로운 Windows 시스템을 사용해야합니다. 필요한 연장을 설치하여 제대로 작동하는지 확인하십시오. Windows 8에서는 VS 코드가 가능하지만 더 나은 개발 경험과 보안을 위해 새로운 Windows 시스템으로 업그레이드하는 것이 좋습니다.
