Python

Python – List 정리1 (내포, 슬라이싱, enumerate, 추가, 삭제, 반복)

  • 선언
a = []
b=list()
  • list 내포
a = [i for i in range(5)]
a
# [0, 1, 2, 3, 4]

a = [i for i in range(5) if i%2 == 0]
a
# [0, 2, 4]

a = [i if i%2 == 0 else -1 for i in range(5)]
a
# [0, -1, 2, -1, 4]
  • list 슬라이싱
a = ['a','b','c','d']

a[1:3] # 1번 인덱스부터 3번 인덱스 전까지
>>> ['b', 'c']

a[:2] # 3번 인덱스 전까지
>>> ['a', 'b']

a[2:] # 2번 인덱스부터
>>> ['c', 'd']

a[1:-1] # 음수로도 사용가능
>>> ['b', 'c']

a[::2] # 인덱스 간격 2
>>> ['a', 'c']
  • list enumerate
a = [2,3,5,3,7,4,1]

for index, number in enumerate(a):
    print(index, number)

"""
0 2
1 3
2 5
3 3
4 7
5 4
6 1
"""

추가

  • list 원소 추가(append)
b.append(5)
b 
# [5]
  • list 원소 추가(insert)
b.insert(0,1)
b
# [1, 5]
  • list 추가(extend)
b.extend([8,9])
b
# [1, 5, 8, 9]
  • list 추가(+)
i = [1,3,5]
j = [2,4,6]
i+j = [1, 3, 5, 2, 4, 6]

삭제

  • list 인덱스 삭제 (del)
del b[1]
b
# [1, 8, 9]
  • list 데이터 삭제 (remove)
b.remove(8)
b
# [1, 9]
  • 최근 입력값 제거 (pop)
b.pop()
b
# [1]
  • list 모든 요소 제거 (clear)
b.clear()
b
# []

리스트 반복

  • 연산자 *
a = [1,2]
b = a * 3
b
# [1, 2, 1, 2, 1, 2]
  • 얕은 복사
a = [[1,2]]
b = a * 3
a[0].append(3) # 첫번째만 추가하였지만
b
# [[1, 2, 3], [1, 2, 3], [1, 2, 3]] # 모두 추가됨

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.