Python 목록은 삽입된 순서대로 요소를 유지할 수 있습니까?
아래 Python 코드가 있는 경우
>>> x = []
>>> x = x + [1]
>>> x = x + [2]
>>> x = x + [3]
>>> x
[1, 2, 3]
x
이 [1,2,3]
또는 중간 요소의 다른 순서가 가능합니까?
예, python 목록의 요소 순서는 영구적입니다.
한마디로 질서는 유지된다.긴 시간:
일반적으로 목록과 같은 개체에 항상 다음 정의가 적용됩니다.
리스트는 중복된 요소를 포함할 수 있는 요소의 집합으로, 명시적으로 변경되지 않는 한 일반적으로 변경되지 않는 순서가 정의되어 있습니다.스택과 큐는 모두 요소(스택은 LIFO, 큐는 FIFO)를 추가 및 삭제하기 위한 특정(종종 제한된) 동작을 제공하는 리스트 유형입니다.리스트는 사물의 리스트를 실제로 표현한 것입니다.문자열은 순서가 중요하기 때문에 문자 목록으로 생각할 수 있습니다."abc" != "bca"
중 은 반드시예: 허용됩니다)."aaa"
할 수 .!= "a"
를 참조해 주세요.
집합은 중복을 포함할 수 없는 요소의 집합이며 시간이 지남에 따라 변경될 수도 있고 변경되지 않을 수도 있는 순서가 정의되지 않습니다.집합은 사물의 목록을 나타내는 것이 아니라 특정 사물의 선택 범위를 나타내는 것입니다.집합의 내부 구조, 요소가 서로 상대적으로 저장되는 방식은 일반적으로 유용한 정보를 전달하기 위한 것이 아닙니다.일부 구현에서는 집합이 항상 내부적으로 정렬되고 다른 구현에서는 순서가 정의되지 않습니다(일반적으로 해시 함수에 따라 다름).
컬렉션은 (일반적으로 가변적인) 개수의 다른 개체를 저장하는 데 사용되는 모든 개체를 가리키는 총칭입니다.목록과 세트 모두 수집의 한 종류입니다.튜플 및 배열은 일반적으로 집합으로 간주되지 않습니다.일부 언어에서는 맵(다른 개체 간의 연관성을 설명하는 컨테이너)도 컬렉션의 한 종류로 간주합니다.
이 명명 방식은 Python, C++, Java, C#, Lisp 등 내가 알고 있는 모든 프로그래밍 언어에 적용됩니다(이 경우 목록이 순서를 지키지 않으면 특히 치명적입니다).그렇지 않은 곳을 아시는 분은 말씀만 해주시면 제가 답변을 수정해 드리겠습니다.특정 실장에서는 C++의 벡터나 ALGOL 68의 플렉스 등 이러한 오브젝트에 다른 이름을 사용할 수 있습니다(두 리스트 모두 기술적으로 플렉스는 크기 변경 가능한 어레이에 불과합니다).
, 어떻게 하는지 으로 알기 때문에 경우+
여기서 서명하면 리스트의 순서가 중요하다는 것을 알 수 있습니다.그렇지 않으면 리스트 조작이 순서를 유지한다고 믿을 만한 충분한 이유가 없는 한, 거의 항상 안심하고 생각할 수 있습니다.이 경우,+
문자 과 마찬가지로 다른.sign ( 은은 ) の the the の of the the the ( ) の the the the the 。목록의 내용을 가져와 다른 내용의 뒤에 배치합니다.
만약 있다면
list1 = [0, 1, 2, 3, 4]
list2 = [5, 6, 7, 8, 9]
그리고나서
list1 + list2
와 동일하다
[0, 1, 2, 3, 4] + [5, 6, 7, 8, 9]
평가 대상
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
비슷해
"abdcde" + "fghijk"
생산하다
"abdcdefghijk"
당신은 '세트'와 '목록'을 혼동하고 있다.세트는 순서를 보장하지 않지만 리스트는 보장한다.
괄호로 됩니다.「 」 「 」{}
[]
.
mySet = {a, b, c, c}
순서는 보장되지 않지만 목록은 다음을 수행합니다.
myList = [a, b, c]
한 가지 우려되는 것은 엔트리가 변경되어 예를 들어 2가 다른 번호가 될 수 있는지 여부입니다.Python에서는 정수는 불변하기 때문에 생성 후에는 변경할 수 없기 때문에 안심할 수 있습니다.
Python의 모든 것이 불변의 것은 아닙니다.예를 들어 리스트는 변경 가능합니다.목록은 작성 후 변경될 수 있습니다.예를 들어 리스트가 있다고 합시다.
>>> a = [[1], [2], [3]]
>>> a[0].append(7)
>>> a
[[1, 7], [2], [3]]
첫 .a
(라고7
할 수 있습니다).조심하지 않으면 이리저리 뒤척이며 예상치 못한 일이 생기는 것을 상상할 수 있다(그리고 실제로 모든 사람이 Python에서 프로그래밍을 시작할 때 이런 일이 일어난다. 단지 이 사이트에서 수십 개의 예를 보기 위해 "루프하면서 목록 수정"을 검색하면 된다).
있다x = x + [a]
★★★★★★★★★★★★★★★★★」x.append(a)
같은 것이 아닙니다.두 은 '입니다.x
는 새로운 하고 있습니다.x
하려면 , 「 」, 「 」를 설정해 .y = x
before before x
두 보세요.y
예, 목록에 대해 다른 작업을 수행하지 않는 한 목록은 [1, 2, 3]으로 유지됩니다.
aList=[1,2,3]
i=0
for item in aList:
if i<2:
aList.remove(item)
i+=1
a리스트
[2]
원칙은 목록에 의해 구동되는 루프에서 목록을 변경하는 경우 두 가지 단계를 수행합니다.
aList=[1,2,3]
i=0
for item in aList:
if i<2:
aList[i]="del"
i+=1
aList
['del', 'del', 3]
for i in range(2):
del aList[0]
aList
[3]
예 목록과 튜플은 항상 정렬되지만 사전은 정렬되지 않습니다.
언급URL : https://stackoverflow.com/questions/13694034/is-a-python-list-guaranteed-to-have-its-elements-stay-in-the-order-they-are-inse
'itsource' 카테고리의 다른 글
데이터 테이블에 작업 버튼을 삽입하고 행 데이터를 가져옵니다. (0) | 2022.09.06 |
---|---|
onKeyPress vs. onKeyUp 및 onKeyDown (0) | 2022.09.06 |
Graphviz 2.38 설치 후 "RuntimeError: Graphviz 실행 파일이 시스템 경로에 있는지 확인하십시오" (0) | 2022.09.06 |
JsonCreator를 사용하여 오버로드된 생성자가 있는 클래스를 역직렬화하는 방법 (0) | 2022.09.06 |
MySQL 저장 루틴에 어레이 전달 (0) | 2022.09.06 |