본문 바로가기

Language/python

[python] 리스트 정리

슬라이스

oddnumber = [1, 3, 5, 7, 9]
cafes = ['star', 'bene', 'yoger', 'friends']
A = [1, 5, 'A', 'CC', 'B']
listInList = [[1, 3, 5, 6, 7], cafes, oddnumber, 1, 3, 'Abc']

a = oddnumber[1:5]
b = cafes[1:]
c = A[:2]
d = listInList[0][1:4] #리스트 내 리스트 접근

print(a) #[3, 5, 7, 6]
print(b) #['bene', 'yoger', 'friends']
print(c) #[1, 5]
print(d) #[3, 5, 6]

 

삭제

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

numbers[3] = "" #값만 삭제
del numbers[3] #공간까지 삭제

 

함수들

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

numbers.insert(3, [11, 12, 13]) #3번째 위치에 리스트 추가

numbers.extend(['a', 'b', 'c']) #리스트를 하나로 합침(리스트만 가능)

numbers.append(['a', 'b', 'c']) #리스트 맨 마지막에 추가

numbers.remove(3) #제일 처음 나오는 3삭제

numbers.pop() #맨뒤 값 리턴하면서 삭제
numbers.pop(3) #인덱스3에 위치한 값 리턴하면서 삭제

numbers.sort() #순서대로 정렬

numbers.reverse() #순서를 반대로

numbers.index(6) #6있으면 반환

print(numbers.count(3)) #리스트에 있는 3의 개수 반환

 

string, list 변환

#string -> list
time_str = "10:34:17"
time_str.split(':') #['10', '34', '17']

#list -> string
time_list = ['10', '34', '17']
':'.join(time_list) #'10:34:17'

 

리스트 comprehension

a = []
for i in range(0,5):
	a.append(i)

#위 코드를 간단히
a = [i for i in range(0,5)]
#곱으로 출력
a = [i*i for i in range(0,5]
#조건문
a = [i for i in range(0,5) if i%2==0]

#_은 변수가 필요없을때
a = [0 for _ in range(0,5)] #[0,0,0,0,0]

 

2차원 리스트

array = []
for i in range(5):
    array.append([i,i+1])    
print(array) #[[0, 1], [1, 2], [2, 3], [3, 4], [4, 5]]

#반복문 하나로 출력
for x, y in array:
	print(x, y)
#반복문 두개로 출력
for i in array:
    for j in i:
        print(j, end=' ')
    print()
    
#정렬하기
students = [
    ['john', 'C', 19],
    ['maria', 'A', 25],
    ['andrew', 'B', 7]
]
print(sorted(students, key=lambda x: x[1]))  # 안쪽 리스트의 인덱스 1을 기준으로 정렬
print(sorted(students, key=lambda x: x[2]))  # 안쪽 리스트의 인덱스 2를 기준으로 정렬

'Language > python' 카테고리의 다른 글

python 꿀팁🍯  (0) 2020.05.07
[python] 정규 표현식 re  (0) 2020.05.05
[python] bisect / 이진 탐색 내장함수  (0) 2020.03.26
[python] 기초 문법 정리  (0) 2020.01.25