빈 listlist = []
를 list[-1]
,list[1]
과 같이 indexing 할 때, list가 비어있으면 error를 뱉는다.
이때, 빈 리스트거나 해당 리스트에 해당하는 값이 없을 때 error를 뱉지 않게 하려면, list[-1:]
,list[1:]
과 같이 해주면, error를 뱉지 않고, 빈 배열을 뱉는다.
del 같은 경우는
del [a:]
같이 사용 가능
a = [38,21,53]
for index, value in enumerate(a):
print(index,value)
-----------------------------------
0 38
1 21
2 53
다양하게 응용할 수 있더라
[식 for 변수1 in 리스트1 if 조건식1
for 변수2 in 리스트2 if 조건식2
for 변수3 in 리스트3 if 조건식3
for 변수4 in 리스트4 if 조건식4]
a = [[j*i for j in range(2)] for i in range(3)]
------------------------------------------------
[[0, 0], [0, 1], [0, 2]]
replace('바꿀 문자열', '새 문자열')
table = str.maketrans('aeiou','12345') << 변환테이블
'apple'.translate(table)
---------------------------------------
'1ppl2'
' ,python.'.lstrip(',.') << 문자열 왼쪽의 ,과 .을 삭제함
----------------------------------------------------
' python' << 왼쪽 공백은 그대로 둠
' ,python.'.lstrip(',.') << 문자열 오른쪽의 ,과 .을 삭제함
----------------------------------------------------
' ,python'
' ,python.'.strip(',.') << 문자열 양쪽의 ,과 .을 삭제함
----------------------------------------------------
' python'
rjust(길이,[fillchar]), ljust(길이), center(길이)
'python'.rjust(10)
' python'
'35'.zfill(4) << '0035'
'hello'.zfill(7) << '00hello'
index는 없을 시에 에러가 발생하지만 find는 에러가 발생하지 않는다.
string
'I am %s.' % 'james'
---------------------
'I am james.'
name = 'james'
'I am %s.' % name
---------------------
'I am james.'
name = 'james'
'I am %10s.' % name
---------------------
'I am james.'
decimal integer
'I am %d years old.' % 20
---------------------
'I am 20 years old.'
float
'I am %f years old.' % 20.3
---------------------
'I am 20.300000 years old.'
'I am %.2f years old.' % 20.3
---------------------
'I am 20.30 years old.'
아래와 같이 여러개 넣을 수 있음
'Today is %d %s.' % (3, 'April')
'Today is 3 April.'
index 형식으로 했지만 변수처럼 지정해서 사용 할 수 있다.
'Hello, {0} {2} {1}'.format('Python', 'Script', 3.6)
------------------------------------------------------
'Hello, Python 3.6 Script'
language = 'Python'
version = 3.6
f'Hello, {language} {version}' << f가 formatting 표시
----------------------------
Hello, Python 3.6
그 밖에도,
'{인덱스:0<길이}'.format(값) /왼쪽 정렬
'{인덱스:0>길이}'.format(값) /오른쪽 정렬
'{인덱스:0글자수d}'.format(숫자) /글자수보다 적은 부분을 0으로 채움
'{0:x>10}'.format(15) 숫자를 넣고, 글자수가 10이하면 나머지를 x로 채운다.
-> '0000000015'
dic 안에 해당하는 key가 있으면 value를 update.
해당하는 key가 없으면 새로운 key:value pair 생성.(여러 개 동시에 가능)
키가 숫자일 경우는 ()내부를 {}로 감싸주면 된다.
y.update({1: 'ONE', 3: 'THREE'})
key값에 해당하는 item을 삭제하고 삭제한 값을 반환하지만,
해당하는 key가 없으면 default 값을 반환한다.
특정 key의 값을 가져온다.
해당하는 key가 없으면 default값을 반환한다.
keys=['a', 'b', 'c', 'd']
x = dict.fromkeys(keys)
x
{'a': None, 'b': None ...}
x = {'a':10, 'b':20, 'c': 30, 'd':40}
x = {key: value for key, value in x.items() if value != 20}
x
------------------------------------------------------------
{'a':10, 'c': 30, 'd':40}
int 함수는 x에 들어온 문자열이나 숫자를 (base)진법으로 인식해서 10진법 정수로 바꾸어준다.
코딩테스트에 자주 사용되는 라이브러리를 정리한 곳.
https://velog.io/@koyo/python-docs-6
배열 속의 배열 등에 사용 할 수 있다. 각 배열의 n번째를 비교 할 수 있다.
(아래 사진을 누르면 공식 페이지로 이동)