Python/이론, 기초

[Python] List

파송송 2021. 7. 2. 20:07
728x90

여러개의 값을 담을 수 있는 데이터 구조 (Mutable)

 

List 생성

s = "hello world"

a = list(s)        #1
b = [2,5,"pyhon"]  #2
c = s.split()      #3 

print(a , b , c , sep="\n")

 

['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']
[2, 5, 'pyhon']
['hello', 'world']

리스트 연산, Len, Del

a = [1,2,3,4,5]
b = [6,7,8,9,10]

print(a+b)
print(a*2)

print(len(a))

del a[0]
print(a)

del a[2:]
print(a)

 

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
5
[2, 3, 4, 5]
[2, 3]

Indexing

인덱스를 사용하여 list 값 가져오기

a = [1,2,3,4,5,6]
a[0] = 10

print(a, a[5])
[10, 2, 3, 4, 5, 6] 6

Slicing

[start : end : step]

a = [1,2,3,4,5,6,7,8,9,10]

print(a[2:8:2])

 

[3, 5, 7]

Append, Extend, Insert

append : 다음 인덱스에 추가

extend : 리스트 연장 (list 덧셈 '+=' )

Insert : 리스트 중간에 값을 삽입 ( Insert( Position, Value))

a = [1,2,3,4,5]
b = [6,7,8,9,10]

a.extend(b)
print(a)

a.append(b)
print(a)

a.insert(1,100)
print(a)

 

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]   #extend
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, [6, 7, 8, 9, 10]]   #append
[1, 100, 2, 3, 4, 5, 6, 7, 8, 9, 10, [6, 7, 8, 9, 10]]   #insert

 


Remove, Pop

remove : 가장 앞에 나온 아이템을 삭제

pop : 인덱스 번호로 삭제후 값을 반환

a = [1,2,3,"remove",5]

a.remove("remove")
print(a)

b = a.pop(0)

print(a)
print(b)

 

[1, 2, 3, 5]
[2, 3, 5]
1

Index

찾는 값의 인덱스를 변환

a = [1, 5, 80, "index", 10]

b = a.index("index")
print(b)

 

3

In 키워드

True, False 둘 중 하나 반환

a = [1, 5, 80, "index", 10]

b = "index" in a
c = 4 in a

print(b)
print(c)

 

True
False

sort, sorted

리스트 값을 정렬

a = [51, 0, 997, 5, 1, 7, 81, 65]

b = sorted(a)
print(b)
print(a)

a.sort()
print(a)

a.sort(reverse = True)
print(a)

 

[0, 1, 5, 7, 51, 65, 81, 997]
[51, 0, 997, 5, 1, 7, 81, 65]
[0, 1, 5, 7, 51, 65, 81, 997]
[997, 81, 65, 51, 7, 5, 1, 0]

 

수정전 ----------------

 

sum

sum(a)

 

 

2차원 list 원소 찾기

a = [[1,2,3],[4,5,6],[7,8,9]]
for i in a:
print('i',i)
print('index i ',a.index(i))
for j in i:
print('j',j)
print('index j',i.index(j))

728x90