>백엔드 개발 >파이썬 튜토리얼 >Python 목록에서 배열을 참조하는 방법

Python 목록에서 배열을 참조하는 방법

黄舟
黄舟원래의
2016-12-16 16:19:505279검색

이 기사에서는 Python 목록을 소개합니다. Python 목록은 컴퓨터 언어에서 널리 사용되는 언어입니다. Python 목록의 실제 응용 기술에 대해 궁금한 점이 있으면 기사를 찾아보세요. 다음은 기사에 대한 소개입니다.

Python에는 배열에 대한 데이터 구조가 없지만 목록은 다음과 같이 배열과 매우 유사합니다.

a=[0,1,2]这时a[0]=0, a[1]=1, a[[2]=2,

하지만 이는 다음과 같은 질문을 제기합니다. 즉, 배열이 원하는 경우 0부터 999까지 정의됩니다. 이는 a = range(0, 1000)을 통해 달성될 수 있습니다. 또는 a = range(1000)로 생략하고 길이가 1000이고 초기 값이 모두 0인 경우

a = [0 for x in range(0, 1000)]

여기에서 10*10 2-를 정의합니다. 초기값이 0인 차원 배열입니다. 나중에 인터넷에서 리터럴 2차원 배열에 대한 더 간단한 방법을 찾았습니다. b = [[0]*10]*10은 10*10을 초기 값이 0인 2차원 배열로 정의합니다.

a=[[0 for x in range(10)] for y in range(10)]

과 비교: print a==b의 결과는 True입니다. 그러나 a 대신 b의 정의 방법을 사용한 후에는 정상적으로 실행될 수 있었던 이전 프로그램도 오류가 발생했습니다. 주의 깊게 분석한 결과 a[0][0]=1일 때 a[0][만 발생했습니다. 0]은 1이고, 나머지는 모두 0입니다. b[0][0]=1일 때 a[0][0], a[1][0], a[9,0]은 모두 1입니다. 이를 통해 우리는 큰 배열에 있는 10개의 작은 1차원 데이터가 모두 동일한 참조를 가지고 있다는 것을 알 수 있습니다. 즉, 동일한 주소를 가리킵니다. 따라서 b = [[0]*10]*10은 기존의 2차원 배열을 따르지 않습니다.

동시에 테스트되었습니다. c=[0]*10의 정의는 위와 동일한 참조 문제 없이 c=[0 for x in range(10)]와 동일한 효과를 갖습니다. 배열 c의 정의는 1차원 배열이 참조(C#의 값 유형과 참조 유형을 빌려옴)이므로 이때 값 유형을 곱한 것으로 추정됩니다. , 적절한지 모르겠습니다). 위의 기사는 Python 목록에 대한 부분적인 소개입니다.

위 내용은 Python 목록에서 배열을 참조하는 방법입니다. 더 많은 관련 글은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.