list1 = []
list2 = [1, 2, 3]
if not list1:
print("list1 is empty")
if list2:
print("list2 is not empty")
# list1 is empty
# list2 is not empty
lambda 함수
ex. 인자로 받아온 숫자x에 1을 더해서 리턴하는 함수
func = lambda x : x + 1
func(4) #5
str_list = ['좋은하루','good_morning','굿모닝','niceday']
print(sorted(str_list, key=len))
# ['굿모닝', '좋은하루', 'niceday', 'good_morning']
array = [[50, "apple"], [400, "melon"], [30, "banana"], [50, "pear"] ]
print(sorted(array, key = lambda x: x[1]))
# [[50, 'apple'], [30, 'banana'], [400, 'melon'], [50, 'pear']]
print(sorted(array, key = lambda x: (-x[0], x[1])))
# [[400, 'melon'], [50, 'apple'], [50, 'pear'], [30, 'banana']]
# index=2인 글자 순으로 정렬, 같은 단어끼리는 사전순으로 정렬
l = ["abce", "abcd", "cdx"]
l.sort(key= lambda x:(x[2],x))
print(l) #['abcd', 'abce', 'cdx']
arr[n:m] #arr[n]부터 arr[m-1]까지 슬라이싱
from copy import deepcopy
arr2 = arr1[:]
arr2 = deepcopy(arr1)
arr2 = copy(arr1)
l = [0] * 5
print(l)
l[2] += 1
print(l)
# [0, 0, 0, 0, 0]
# [0, 0, 1, 0, 0]
l = [[]] * 5
print(l)
l[2].append(1)
print(l)
# [[], [], [], [], []]
# [[1], [1], [1], [1], [1]]
list comprehension
https://velog.io/@sangyun/%EC%A0%9C%EC%96%B4%EB%AC%B8#list-comprehension
list 내부에서 for문 one-line으로 사용 가능
: 정의한 element을 for 문에 따라 반복해서 list에 추가
strings = [['a','b','c'], ['c','a','r']]
l = [''.join(x) for x in strings]
# ['abc', 'car']
a = list()
for x in range(3):
a.append(x)
arr = [[] for i in range(n+1)]
arr1 = [[] for i in range(5)]
# [[], [], [], [], []]
arr2 = [0]*5
# [0, 0, 0, 0, 0]
arr3 = [0 for _ in range(5)]
# [0, 0, 0, 0, 0]
arr4 = [[0] for _ in range(5)]
# [[0], [0], [0], [0], [0]]
arr5 = [[0]*5 for _ in range(5)]
# [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
arr6 = [[0 for _ in range(5)] for _ in range(5)]
# [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
m = 3
n = 5
arr1 = [[0 for j in range(m)] for i in range(n)]
arr2 = [[0] * m for i in range(n) ]
arr3 = [[0] * m for i in range(n)]
arr = [[0] * m] * n
print(id(arr[0]) == id(arr[1])) // True
dist = [[[0]*k for _ in range(m)] for _ in range(n)]
s.split() #공백을 기준으로 elements를 나누어 list 타입으로 리턴
s.split('x') #x를 기준으로 elements를 나누어 list 타입으로 리턴
"".join(a) #각 elements를 이어붙여 string 타입으로 리턴
"x".join(a) #각 elements 사이에 x를 추가하여 이어붙여 string 타입으로 리턴
print(*list)
: elements들 사아 공백 두고 출력
if item in list:
print('리스트에 값이 있습니다.')
if item not in list:
print('리스트에 값이 없습니다.')
s1.add(10)
s1 = set([1, 2, 3])
s1.remove(2)
s1
# {1, 3}
s1 = set()
s2 = set([1,2,3])
if 2 in s2:
print("yes")
if 5 not in s2:
print("yes")
# yes
# yes
set1 = {1, 3}
set2 = {1, 2, 3, 4}
print(set1 <= set2)
print(set1.issubset(set2))
https://docs.python.org/ko/3/tutorial/introduction.html#lists
https://duck-tube.tistory.com/1
https://velog.io/@choonghee-lee/%EB%B2%88%EC%97%ADstring-Text-Constants-and-Templates
https://teddylee777.github.io/python/python-tutorial-03
https://codechacha.com/ko/python-check-empty-list/
https://chancoding.tistory.com/43
https://ooyoung.tistory.com/59
https://velog.io/@optjyy/python-iterable-sequence