programing

목록에서 줄임표 [...]는 무엇을 의미합니까?

projobs 2022. 9. 29. 22:16
반응형

목록에서 줄임표 [...]는 무엇을 의미합니까?

나는 비단뱀을 가지고 놀고 있었다.IDLE에서 다음 코드를 사용했습니다.

p  = [1, 2]
p[1:1] = [p]
print p

출력은 다음과 같습니다.

[1, [...], 2]

뭐야...[…]흥미롭게도, 저는 이것을 무한대의 목록으로 사용할 수 있습니다.

p[1][1][1]....

저는 위의 내용을 원하는 만큼 쓸 수 있으며, 앞으로도 사용할 수 있습니다.

편집:

  • 기억 속에서는 어떻게 표현됩니까?
  • 그게 무슨 소용이야?그것이 유용한 사례의 예가 도움이 될 것이다.
  • 공식 문서에 대한 링크는 매우 유용합니다.

이것은 당신의 코드가 만든 것입니다.

여기에 이미지 설명 입력

첫 번째 요소와 마지막 요소가 두 개의 숫자(1과 2)를 가리키고 중간 요소가 목록 자체를 가리키고 있는 목록입니다.

Common Lisp에서 원형 구조 인쇄가 활성화되면 이러한 개체가 다음과 같이 인쇄됩니다.

#1=#(1 #1# 2)

입니다(사물이 있는 사물이 있는 1번, 사물이 있는 1번).#1=는 3개의두 요소는 자체입니다(3개의 요소로 ).#1#를 참조해 주세요.

Python에서는 가 "Python"으로 수 .[...].

이 경우 설명은 모호하지 않습니다(목록을 역방향으로 가리키지만 목록이 하나만 있으므로 해당 목록이어야 합니다).다른 경우에는 아무리 애매해도...예를 들면

[1, [2, [...], 3]]

역방향 참조는 외부 또는 내부 목록을 가리킬 수 있습니다.같은 방법으로 인쇄된 이 두 개의 다른 구조물은 다음과 같이 작성할 수 있습니다.

x = [1, [2, 3]]
x[1][1:1] = [x[1]]

y = [1, [2, 3]]
y[1][1:1] = [y]

print(x)
print(y)

그리고 그들은 기억될 것이다.

여기에 이미지 설명 입력

즉, 무한 리스트가 그 내부에 중첩되어 있어 인쇄할 수 없습니다. pp」가 포함되어 .p... ★★★★★★[...]표기법은 이것을 알려 줄 수 없다는 것을 알려주는 방법입니다.@6502의 답변을 보고 무슨 일이 일어나고 있는지 멋진 사진을 보세요.

편집 후 새로 추가된 3가지 항목에 대해 말씀드리겠습니다.

  • 답변은 그것을 커버하는 것 같다.
  • Ignacio의 링크는 사용 가능한 몇 가지 용도를 설명합니다.
  • 이것은 프로그래밍 언어보다 데이터 구조 설계의 주제이기 때문에 Python의 공식 문서에서 어떤 참조도 찾을 수 없을 것 같습니다.

"그것이 무슨 소용이 있는가?"라는 질문에 대해 구체적인 예를 제시하겠습니다.

그래프 축소는 컴퓨터 언어를 해석하기 위해 사용되는 평가 전략입니다.이것은 게으른 평가, 특히 기능 언어의 일반적인 전략입니다.

시작점은 프로그램이 수행할 "단계"의 순서를 나타내는 그래프를 작성하는 것입니다.프로그램에 사용된 제어 구조에 따라 순환 그래프로 이어질 수 있습니다(프로그램에 일종의 "영원한" 루프가 포함되어 있거나, "깊이"가 그래프 생성 시간에는 알려져 있지 않은 재귀 사용).

이러한 그래프를 표현하기 위해서는 사용자가 발견한 것과 같은 무한 "데이터 구조"(재귀 데이터 구조라고 하는 부분)가 필요합니다.보통은 좀 더 복잡하지만요

만약 당신이 그 주제에 관심이 있다면, 여기 그 주제에 대한 강의가 있습니다.
http://undergraduate.csse.uwa.edu.au/units/CITS3211/lectureNotes/14.pdf

객체 지향 프로그래밍에서는 항상 이 작업을 수행합니다.직간접적으로 두 개체가 서로 참조하는 경우 둘 다 무한 재귀 구조(또는 보는 방법에 따라서는 무한 재귀 구조의 양쪽 부분)입니다.그렇기 때문에 목록처럼 원시적인 것에서는 이 많은 것을 볼 수 없습니다. 왜냐하면 우리는 보통 그 개념을 "무한 목록"보다 상호 연결된 "객체"로 설명하는 것이 더 낫기 때문입니다.

또,...무한히 재귀적인 사전이 있습니다.삼각형의 모서리 사전이 필요한 경우 각 값은 해당 모서리에 연결된 다른 모서리의 사전입니다.다음과 같이 설정할 수 있습니다.

a = {}
b = {}
c = {}
triangle = {"a": a, "b": b, "c": c}
a["b"] = b
a["c"] = c
b["a"] = a
b["c"] = c
c["a"] = a
c["b"] = b

인쇄하면triangle(또는a또는b또는c그 점에 대해서는)이 가득하다는 것을 알 수 있을 것이다.{...}왜냐하면 어떤 두 모서리도 서로 등을 가리키고 있기 때문입니다.

제가 이해한 바로는 이것은 고정점의 예시입니다.

p  = [1, 2]
p[1:1] = [p]
f = lambda x:x[1]
f(p)==p
f(f(p))==p

언급URL : https://stackoverflow.com/questions/17160162/what-do-ellipsis-mean-in-a-list

반응형