Python 3 학습 노트 의 목록 방법 예시 상세 설명

14435 단어 python3목록 방법
머리말
본 고 는 주로 Python 3 리스트 방법 에 관 한 내용 을 소개 하고 참고 학습 을 제공 합 니 다.다음은 더 이상 말 하지 않 겠 습 니 다.상세 한 소 개 를 해 보 겠 습 니 다.
1[]또는 list()를 사용 하여 목록 만 들 기

user = []
user = list()
2 list()를 사용 하면 다른 종 류 를 목록 으로 변환 할 수 있 습 니 다.

#         
>>> list('abcde')
['a', 'b', 'c', 'd', 'e']

#        
>>> list(('a','b','c'))
['a', 'b', 'c']
3.[offset]을 사용 하여 요 소 를 가 져 오 거나 요 소 를 수정 합 니 다.

>>> users = ['a','b','c','d','e']
#              
>>> users[0]
'a'
#                    
>>> users[-1]
'e'

#        
>>> users[100]
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
IndexError: list index out of range
>>> users[-100]
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
IndexError: list index out of range

#       
>>> users[0] = 'wdd'
>>> users
['wdd', 'b', 'c', 'd', 'e']
>>> 
4 목록 절편 및 추출 요소
목록 을 자 르 거나 추출 한 후에 도 목록 입 니 다.
형식:list[start:end:step]

>>> users
['wdd', 'b', 'c', 'd', 'e']
#                users[2]
>>> users[0:2]
['wdd', 'b']
#        
>>> users[0:-2]
['wdd', 'b', 'c']
#            
>>> users[:]
['wdd', 'b', 'c', 'd', 'e']
#          
>>> users[0:4:2]
['wdd', 'c']
#                
>>> users[::-1]
['e', 'd', 'c', 'b', 'wdd']

#      ,       ,        ,                     0,       0   。
>>> users
['wdd', 'b', 'c', 'd', 'e']
>>> users[-100:3]
['wdd', 'b', 'c']
>>> users[-100:100]
['wdd', 'b', 'c', 'd', 'e']
>>> 
5 append()를 사용 하여 요 소 를 끝까지 추가 합 니 다.
형식:list.append(item)

>>> users
['wdd', 'b', 'c', 'd', 'e']
>>> users.append('ddw')
>>> users
['wdd', 'b', 'c', 'd', 'e', 'ddw']
6 extend()또는+=병합 목록 사용 하기
형식:list1.extend(list2)이 두 가지 방법 은 모두 원 목록 을 직접 수정 할 것 이다.

>>> users
['wdd', 'b', 'c', 'd', 'e', 'ddw']
>>> names
['heihei', 'haha']
>>> users.extend(names)
>>> users
['wdd', 'b', 'c', 'd', 'e', 'ddw', 'heihei', 'haha']
>>> users += names
>>> users
['wdd', 'b', 'c', 'd', 'e', 'ddw', 'heihei', 'haha', 'heihei', 'haha']
7 insert()를 사용 하여 지정 한 위치 에 요 소 를 삽입 합 니 다.
형식:list.insert(offset, item)insert 도 경 계 를 넘 는 문제 가 존재 하지 않 습 니 다.편 이 량 의 양 과 음 은 모두 괜 찮 습 니 다.경 계 를 넘 으 면 자동 으로 경계 안 으로 신축 되 고 잘못 보고 하지 않 습 니 다.

>>> users
['wdd', 'b', 'c', 'd', 'e', 'ddw', 'heihei', 'haha', 'heihei', 'haha']
>>> users.insert(0,'xiaoxiao')
>>> users
['xiaoxiao', 'wdd', 'b', 'c', 'd', 'e', 'ddw', 'heihei', 'haha', 'heihei', 'haha']
>>> users.insert(-1,'-xiaoxiao')
>>> users
['xiaoxiao', 'wdd', 'b', 'c', 'd', 'e', 'ddw', 'heihei', 'haha', 'heihei', '-xiaoxiao', 'haha']
#   -100     
>>> users.insert(-100,'-xiaoxiao')
>>> users
['-xiaoxiao', 'xiaoxiao', 'wdd', 'b', 'c', 'd', 'e', 'ddw', 'heihei', 'haha', 'heihei', '-xiaoxiao', 'haha']
#   100     
>>> users.insert(100,'-xiaoxiao')
>>> users
['-xiaoxiao', 'xiaoxiao', 'wdd', 'b', 'c', 'd', 'e', 'ddw', 'heihei', 'haha', 'heihei', '-xiaoxiao', 'haha', '-xiaoxiao']
8 del 을 사용 하여 어떤 요 소 를 삭제 합 니 다.
형식:del list[offset]del 은 python 의 구문 입 니 다.목록 의 방법 이 아 닙 니 다.del 은 존재 하지 않 는 요 소 를 삭제 할 때 도 경 계 를 넘 는 것 을 알려 줍 니 다.

>>> users
['-xiaoxiao', 'xiaoxiao', 'wdd', 'b', 'c', 'd', 'e', 'ddw', 'heihei', 'haha', 'heihei', '-xiaoxiao', 'haha', '-xiaoxiao']
>>> del users[0]
>>> users
['xiaoxiao', 'wdd', 'b', 'c', 'd', 'e', 'ddw', 'heihei', 'haha', 'heihei', '-xiaoxiao', 'haha', '-xiaoxiao']
>>> del users[100]
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
IndexError: list assignment index out of range
>>> del users[-100]
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
IndexError: list assignment index out of range
9 remove 를 사용 하여 지정 한 값 을 가 진 요 소 를 삭제 합 니 다.
형식:list.remove(value)

>>> users
['xiaoxiao', 'wdd', 'b', 'c', 'd', 'e', 'ddw', 'heihei', 'haha', 'heihei', '-xiaoxiao', 'haha', '-xiaoxiao']
#      'c'
>>> users.remove('c')
>>> users
['xiaoxiao', 'wdd', 'b', 'd', 'e', 'ddw', 'heihei', 'haha', 'heihei', '-xiaoxiao', 'haha', '-xiaoxiao']
#           
>>> users.remove('alsdkfjalsdf')
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
ValueError: list.remove(x): x not in list
#         ,          
>>> users.remove('haha')
>>> users
['xiaoxiao', 'wdd', 'b', 'd', 'e', 'ddw', 'heihei', 'heihei', '-xiaoxiao', 'haha', '-xiaoxiao']
10.pop()방식 으로 원 소 를 되 돌려 주 고 배열 에서 삭제 합 니 다.
형식:list.pop(offset=-1) 오프셋 은 기본적으로-1 과 같 습 니 다.즉,마지막 요 소 를 삭제 하 는 것 입 니 다.

>>> users
['xiaoxiao', 'wdd', 'b', 'd', 'e', 'ddw', 'heihei', 'heihei', '-xiaoxiao', 'haha', '-xiaoxiao']
#        
>>> users.pop()
'-xiaoxiao'
>>> users
['xiaoxiao', 'wdd', 'b', 'd', 'e', 'ddw', 'heihei', 'heihei', '-xiaoxiao', 'haha']
#           ,  pop    
>>> user.pop(0)
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
IndexError: pop from empty list
>>> users.pop(0)
'xiaoxiao'
>>> users
['wdd', 'b', 'd', 'e', 'ddw', 'heihei', 'heihei', '-xiaoxiao', 'haha']
#        
>>> users.pop(100)
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
IndexError: pop index out of range
11 index()를 사용 하여 특정 값 을 가 진 요소 의 위 치 를 조회 합 니 다.
형식:list.index(value)

# index             
>>> users
['wdd', 'b', 'd', 'e', 'ddw', 'heihei', 'heihei', '-xiaoxiao', 'haha']
>>> users.index('heihei')
5

#        ,    
>>> users.index('laksdf')
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
ValueError: 'laksdf' is not in list
12.in 을 사용 하여 목록 이 존재 하 는 지 여 부 를 판단 합 니 다.
형식:value in list

>>> users
['wdd', 'b', 'd', 'e', 'ddw', 'heihei', 'heihei', '-xiaoxiao', 'haha']
>>> 'wdd' in users
True
13.count()를 사용 하여 특정 값 이 나타 나 는 횟수 를 기록 합 니 다.
형식:list.count(value)

>>> users
['wdd', 'b', 'd', 'e', 'ddw', 'heihei', 'heihei', '-xiaoxiao', 'haha']
>>> users.count('heihei')
2
>>> users.count('h')
0
14.join()을 사용 하여 목록 을 문자열 로 변환 합 니 다.
형식:string.join(list)

>>> users
['wdd', 'b', 'd', 'e', 'ddw', 'heihei', 'heihei', '-xiaoxiao', 'haha']
>>> ','.join(users)
'wdd,b,d,e,ddw,heihei,heihei,-xiaoxiao,haha'
>>> user
[]
>>> ','.join(user)
''
15 sort()를 사용 하여 목록 요 소 를 다시 배열 합 니 다.
형식:list.sort()

>>> users
['wdd', 'b', 'd', 'e', 'ddw', 'heihei', 'heihei', '-xiaoxiao', 'haha']
#        
>>> users.sort()
>>> users
['-xiaoxiao', 'b', 'd', 'ddw', 'e', 'haha', 'heihei', 'heihei', 'wdd']
#   reverse=True,       
>>> users.sort(reverse=True)
>>> users
['wdd', 'heihei', 'heihei', 'haha', 'e', 'ddw', 'd', 'b', '-xiaoxiao']

#       ,           
>>> students
[{'name': 'wdd', 'age': 343}, {'name': 'ddw', 'age': 43}, {'name': 'jik', 'age': 90}]
>>> students.sort(key=lambda item: item['age'])
>>> students
[{'name': 'ddw', 'age': 43}, {'name': 'jik', 'age': 90}, {'name': 'wdd', 'age': 343}]
>>> students.sort(key=lambda item: item['age'], reverse=True)
>>> students
[{'name': 'wdd', 'age': 343}, {'name': 'jik', 'age': 90}, {'name': 'ddw', 'age': 43}]
>>> 
16.reverse()를 사용 하여 목록 을 뒤 집기
형식:list.reverse()

>>> users
['wdd', 'heihei', 'heihei', 'haha', 'e', 'ddw', 'd', 'b', '-xiaoxiao']
>>> users.reverse()
>>> users
['-xiaoxiao', 'b', 'd', 'ddw', 'e', 'haha', 'heihei', 'heihei', 'wdd']
17 사용 copy()목록 복사
형식:list2 = list1.copy()list2 = list1이것 은 목록 의 복사 가 아니 라 목록 에 별명 을 붙 였 을 뿐이다.실제로는 같은 값 을 가리킨다.

>>> users
['-xiaoxiao', 'b', 'd', 'ddw', 'e', 'haha', 'heihei', 'heihei', 'wdd']
>>> users2 = users.copy()
>>> users2
['-xiaoxiao', 'b', 'd', 'ddw', 'e', 'haha', 'heihei', 'heihei', 'wdd']
>>> 
18 clear()로 목록 비우 기
형식: list.clear()

>>> users2
['-xiaoxiao', 'b', 'd', 'ddw', 'e', 'haha', 'heihei', 'heihei', 'wdd']
>>> users2.clear()
>>> users2
[]
19.len()을 사용 하여 목록 길 이 를 가 져 옵 니 다.
형식:len(list)

>>> users
['-xiaoxiao', 'b', 'd', 'ddw', 'e', 'haha', 'heihei', 'heihei', 'wdd']
>>> len(users)
9
20 리스트 크로스 에 대한 깊 은 사고
이런 방법 을 쓴 후에 나 는 왜 어떤 조작 들 이 경 계 를 넘 는 것 을 알 리 고 어떤 것 은 그렇지 않 은 지 의문 이 들 었 다.
오프셋 이 경 계 를 넘 는 동작 이 있 음 을 알려 줍 니 다.
  • list[offset]특정한 요 소 를 읽 거나 수정 합 니 다
  • del list[offset] 지 정 된 위치의 요소 삭제
  • list.remove(value)지 정 된 값 의 요소 삭제
  • list.pop(offset)지 정 된 위치의 요소 삭제
  • 만약 편 이 량 이 경 계 를 넘 으 면,이 방법 들 은 잘못 보고 할 것 이다.나의 개인 적 인 이 해 는:
    만약 에 제 가 오프셋 이 10 인 요 소 를 읽 고 싶 지만 이 요 소 는 존재 하지 않 습 니 다.시스템 이 목록 의 마지막 요 소 를 자동 으로 읽 어 주 고 잘못 보고 하지 않 으 면 용납 할 수 없 는 bug 입 니 다.10 번 째 요 소 를 삭제 하고 싶 지만 10 번 째 요 소 는 존재 하지 않 습 니 다.시스템 이 목록 의 마지막 요 소 를 삭제 해 주 었 습 니 다.이것 도 용납 할 수 없다 고 생각 합 니 다.
    따라서 이런 방법 을 사용 할 때 이 오프셋 요소 가 존재 하 는 지 확인 해 야 한다.그렇지 않 으 면 잘못 보고 할 수 있다.
    총결산
    이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가 치 를 가지 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.

    좋은 웹페이지 즐겨찾기