Developer_Neo
[python] 리스트 만들기, 연산자, 함수, 메소드 본문
반응형
리스트 만들기
리스트 객체 = list( iterable 자료형 )
iterable 자료형
- 컨테이너 자료형 - 문자열, 튜플, 집합, 사전
- 내장함수 - range(), reversed(), enumerate(), filter(), map(), zip()
리스트는 mutable객체
연산자
- +
- *
- in, not in
- del
''' + '''
>>> L = [1, 3, 5, 7]; M = [2, 4, 6, 8]
>>> L + M
[1, 3, 5, 7, 2, 4, 6, 8]
>>> L, M
([1, 3, 5, 7], [2, 4, 6, 8])
>>> K = L + M
>>> K
[1, 3, 5, 7, 2, 4, 6, 8]
''' * '''
>>> M = [7, 9]
>>> M *= 3
>>> M
[7, 9, 7, 9, 7, 9]
''' in , not in '''
>>> L = [2, 4, 6, 8, 10]
>>> 6 in L
True
>>> 11 not in L
True
''' del '''
>>> a=[1,2,3,4]
>>> del a[2]
>>> a
[1, 2, 4]
>>> del a
>>> a
'''
Traceback (most recent call last):
File "<pyshell#63>", line 1, in <module>
a
NameError: name 'a' is not defined
'''
함수
len(), max(), min(), sum(), sorted(), reversed()
len(L) | 리스트 L의 원소의 개수 반환 |
max(L) | 리스트 L의 원소 중 가장 큰 수 반환 |
min(L) | 리스트 L의 원소 중 가장 작은 수 반환 |
sum(L) | 리스트 L의 원소의 합을 반환 |
sorted(L) | 리스트 L을 오름차순으로 정렬한 새리스트를 만들어 반환 L은 안바뀜 |
reversed(L) | 리스트 L를 역순으로 바꾸어준다 reverse객체라서 다른 함수를 적용해야 눈으로 볼 수 있음 |
메소드
>>> dir(list)
['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__',
'__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__',
'__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__',
'__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__',
'__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__',
'__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop',
'remove', 'reverse', 'sort']
append(), extend(), insert(), sort(), remove(), pop(), clear(), copy()
''' append(x) '''
'''
인수 x에는 어떤 자료형도 넣을 수 있지만 반환값은 없음
'''
>>> L = [6, 8, 2, 4]
>>> x = L.append(5)
>>> print(L)
[6, 8, 2, 4, 5]
>>> print(x)
None
>>> L = [6, 8, 2, 9]
>>> x = L.append(7)
>>> print(L)
[6, 8, 2, 9, 7]
>>> print(x)
None
''' extend() '''
''' 리스트와 iterable 자료형 연결 '''
>>> L = [1,3,5]
>>> L.extend('python') # 문자열은 문자 하나하나가 원소
>>> L
[1, 3, 5, 'p', 'y', 't', 'h', 'o', 'n']
>>> L = [1,3,5]
>>> L.extend([7,9]) #리스트
>>> L
[1, 3, 5, 7, 9]
>>> L = [1,3,5]
>>> L.extend((7,9)) #튜플
>>> L
[1, 3, 5, 7, 9]
>>> L = [1,3,5]
>>> L.extend({2, 8}) #집합
>>> L
[1, 3, 5, 8, 2]
>>> L = [1,3,5]
>>> L.extend({'one':1, 'two':2, 'three':3})
>>> L
[1, 3, 5, 'one', 'two', 'three']
>>> L = [1,3,5]
>>> L.extend(range(7, 10, 2))
>>> L
[1, 3, 5, 7, 9]
>>> L = [1,3,5]
>>> L.extend(reversed(L))
>>> L
[1, 3, 5, 5, 3, 1]
''' insert(i,x) '''
''' 인덱스 i에 데이터 x를 삽입하는 메소드 '''
>>> L = ['a', 'b', 'c', 'd']
>>> L.insert(2, 'e')
>>> print(L)
['a', 'b', 'e', 'c', 'd']
>>> M = [1,3,5,7]
>>> M.insert(2, [2,4,6]) # 리스트 insert 하기
>>> M
[1, 3, [2, 4, 6], 5, 7]
''' sort() '''
'''
sort의 인수로 key=~~ 가 들어갈 수 있다 들어갔다면
key에 해당하는 함수의 결과값에 따라 오름차순정렬한다
'''
>>> a = [4, 10, -5, 0, -8, 1, -9]
>>> a.sort( )
>>> a
[-9, -8, -5, 0, 1, 4, 10]
>>> a.sort(key=abs,reverse=True)
>>> a
[10, -9, -8, -5, 4, 1, 0]
''' remove(x) '''
'''
인수에 삭제하고자 하는 데이터를 넣어야한다
반환값은 없다.
만약 삭제하고자하는 것이 여러개가 있으면 맨 앞에 부터 삭제한다.
없는 원소를 삭제하면 ValueError가 발생한다.
'''
>>> a=['a', 'b', 'c', 'd', 'e', 'a']
>>> result=a.remove('e')
>>> print(result)
None
>>> a
['a', 'b', 'c', 'd', 'a']
>>> a.remove('a')
>>> a
['b', 'c', 'd', 'a']
''' pop() '''
'''
pop() -> 마지막 데이터를 삭제 후 반환
pop(i) -> 인덱스 i에있는 데이터 삭제 후 반환
삭제한 데이터 반환
'''
>>> a=['a','b','c','d','e']
>>> p=a.pop()
>>> print(p)
e
>>> a
['a', 'b', 'c', 'd']
>>> a.pop(3)
'd'
>>> a
['a', 'b', 'c']
# 빈 리스트나 없는 인덱스에 대해 pop을 진행하면 IndexError가 나타남
''' clear() '''
''' 모든 데이터 삭제헤 빈리스트로 만들기 '''
>>> L = [1, 3, 5, 7, 9]
>>> L.clear( )
>>> L
[ ]
''' copy() '''
>>> L = [1,3,5,7,9]
>>> M = L.copy( )
>>> id(L), id(M) # 다른 id
(35516048, 35334864)
>>> print(L)
[1, 3, 5, 7, 9]
>>> print(M)
[1, 3, 5, 7, 9]
반응형
'프로그래밍 > Python' 카테고리의 다른 글
[python] 집합 만들기, 연산자, 함수, 메소드 (0) | 2022.01.16 |
---|---|
[python] 튜플 연산자, 함수, 메소드 (0) | 2022.01.16 |
[python] 문자열 연산자 및 함수, 메소드 (0) | 2022.01.16 |
[python] 빈 문자열, 리스트, 사전, 튜플, 집합 만들기 (0) | 2022.01.16 |
[python] print 함수 (+ 주석처리) (0) | 2022.01.16 |
Comments