>  기사  >  백엔드 개발  >  Python에서 목록과 집합의 차이점

Python에서 목록과 집합의 차이점

尚
원래의
2019-07-05 11:00:306270검색

Python에서 목록과 집합의 차이점

목록:

문자 그대로 집합을 의미합니다. Python에서 목록의 요소는 대괄호 []로 표시됩니다. 다음과 같이 목록을 정의할 수 있습니다.

L = [12, 'China', 19.998]

요소 유형이 필요하지 않음을 알 수 있습니다. 동일합니다. 물론 빈 목록을 정의할 수도 있습니다.

L = []

Python의 목록은 순서가 지정되므로 목록에 액세스하려면 배열의 첨자와 마찬가지로 일련 번호를 통해 분명히 액세스해야 합니다. from 0:

>>> print L[0]12

경계를 넘지 마세요. 그렇지 않으면 오류가 보고됩니다.

>>> print L[3]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range

List는 역순으로 액세스할 수도 있습니다. 일련 번호는 "x from last"와 같은 아래 첨자로 표시됩니다. 1은 마지막 요소의 첫 번째 요소를 나타냅니다.

>>> L = [12, &#39;China&#39;, 19.998]
>>> print L[-1]19.998

-4는 다음과 같이 분명히 선을 넘습니다.

>>> print L[-4]

Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    print L[-4]
IndexError: list index out of range
>>>

List는 내장된append() 메서드를 통해 꼬리에 추가되고 insert( ) 방법(아래 첨자는 0부터 시작):

>>> L = [12, &#39;China&#39;, 19.998]
>>> L.append('Jack')
>>> print L
[12, 'China', 19.998, 'Jack']
>>> L.insert(1, 3.14)
>>> print L
[12, 3.14, 'China', 19.998, 'Jack']
>>>

참고 python 추가와 비슷한 방법이 여러 가지 있지만 사용할 때는 실제 필요에 따라 올바른 방법을 선택해야 합니다.

1. () 목록 끝에 새 요소를 추가합니다. 목록은 하나의 인덱스 위치만 차지합니다. 원래 목록에서 목록을 목록 끝에 추가하려면

2, 확장()을 추가하고 목록의 각 요소를 추가합니다. , 그리고 원래 목록에

를 추가합니다(예: list1=[1, 2, 3] .list2=[4, 5 , 6])

list1.append(list2)의 결과는 [1, 2, 3, [4, 5, 6]]

list1.extend(list2)의 결과는 [1, 2, 3, 4, 5 , 6]

3입니다. + + 기호를 직접 사용하는 것과 같은 효과가 있는 것 같습니다. 하지만 실제로는 두 목록의 합을 저장하기 위해 새 목록을 생성하고 두 목록을 추가하는 데에만 사용할 수 있습니다.

4 위에서 +=는 확장()과 동일한 효과를 갖습니다. 원래 목록에 새 요소를 추가하고 원래 목록에

를 추가하여 pop()을 통해 마지막 꼬리 요소를 삭제합니다. 매개변수를 지정하여 지정된 위치를 삭제할 수도 있습니다.

>>> L.pop()
&#39;Jack&#39;
>>> print L
[12, 3.14, &#39;China&#39;, 19.998]
>>> L.pop(0)
>>> print L
[3.14, &#39;China&#39;, 19.998]

또한 아래 첨자를 통해 복사하고 바꿀 수 있습니다

>>> L[1] = &#39;America&#39;
>>> print L
[3.14, &#39;America&#39;, 19.998]

set:

집합은 순서가 없는 숫자의 집합이며 내용이 반복될 수 없습니다. set() 메서드를 호출하여 생성됩니다.

>>> s = set([&#39;A&#39;, &#39;B&#39;, &#39;C&#39;])

집합에 액세스한다는 의미는 단지 그것을 보는 것입니다. 요소가 이 세트에 있는지 여부에 따라 대소문자 구분에 주의하세요:

>>> print &#39;A&#39; in s
True
>>> print &#39;D&#39; in s
False

또한 다음을 위해 순회합니다:

s = set([(&#39;Adam&#39;, 95), (&#39;Lisa&#39;, 85), (&#39;Bart&#39;, 59)])

for x in s:
    print x[0],&#39;:&#39;,x[1]

>>>
Lisa : 85
Adam : 95
Bart : 59

추가 및 제거를 통해 요소를 추가하고 삭제합니다(요소를 추가할 때 세트의 add(를 사용합니다). ) method

>>> s = set([1, 2, 3])
>>> s.add(4)
>>> print s
set([1, 2, 3, 4])

추가된 요소가 집합에 이미 존재하는 경우 add()는 오류를 보고하지 않지만 추가되지는 않습니다.

>>> s = set([1, 2, 3])
>>> s.add(3)
>>> print s
set([1, 2, 3])

집합에서 요소를 삭제할 때는 집합의 제거() 메서드를 사용하세요. :

>>> s = set([1, 2, 3, 4])
>>> s.remove(4)
>>> print s
set([1, 2, 3])

삭제된 요소가 집합에 없으면 제거()는 오류를 보고합니다.

>>> s = set([1, 2, 3])
>>> s.remove(4)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 4

따라서 요소가 다른 조건을 충족하는지 확인하려면 set을 사용하는 것이 가장 좋습니다. 예:

months = set([&#39;Jan&#39;,&#39;Feb&#39;,&#39;Mar&#39;,&#39;Apr&#39;,&#39;May&#39;,&#39;Jun&#39;,&#39;Jul&#39;,&#39;Aug&#39;,&#39;Sep&#39;,&#39;Oct&#39;,&#39;Nov&#39;,&#39;Dec&#39;,])
x1 = &#39;Feb&#39;
x2 = &#39;Sun&#39;

if x1 in months:
    print &#39;x1: ok&#39;
else:
    print &#39;x1: error&#39;

if x2 in months:
    print &#39;x2: ok&#39;
else:
    print &#39;x2: error&#39;

>>>
x1: ok
x2: error

게다가, 집합의 계산 효율성은 목록의 계산 효율성보다 높습니다.

더 많은 Python 관련 기술 기사를 보려면 Python Tutorial 칼럼을 방문하여 알아보세요!

위 내용은 Python에서 목록과 집합의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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