list_name.sort(key=<function>, reverse=<bool>
a1 = [6, 3, 9]
print('a1:', a1)
a2 = a1.sort() # 원본을 정렬하고 수정합니다(in-place)
print('-----정렬 후-----')
print('a1:', a1)
print('a2:', a2)
[실행 결괴]
a1: [6, 3, 9]
-----정렬 후-----
a1: [3, 6, 9]
a2: None
sort( ) 함수의 리턴값이 None 이므로 주의합니다.
정렬된 값은 리턴되지 않습니다.
원본 리스트 값이 정렬된 값으로 수정되었습니다.
sorted(iterable, key=<function>, reverse=<bool>)
b1 = [6, 3, 9]
print('b1:', b1)
b2 = sorted(b1) # 원본은 유지하고 정렬한 새 리스트를 만듭니다
print('-----정렬 후-----')
print('b1:', b1)
print('b2:', b2)
[실행 결괴]
b1: [6, 3, 9]
-----정렬 후-----
b1: [6, 3, 9]
b2: [3, 6, 9]
원본 리스트 b1 값은 유지되고 정렬된 새 리스트는 b2에 저장되었습니다.
reverse=
True
) 또는 오름차순(False
) 변경 가능key=
값을 기준으로 정렬 가능#문자열의 개수를 기준으로 정렬
list_str = ['hi', 'this', 'hello', 'python']
print(sorted(list_str, key=lambda x: len(x)))
#특정 문자(x[n])을 기준으로 정렬
print(sorted(list_str, key=lambda x: x[n]))
#2차원 리스트 중 한 요소 기준으로 정렬
list_num = [[1, '가'], [3, '다'], [4, '라'], [2, '나']]
print(sorted(list_num, key=lambda x: x[0]
※ 관습적·문법적으로 의미를 가지는 단위의 경우 ' '
를 사용하고, 크게 의미를 가지지 않는 문자열은 " "
를 이용한다.
if compiler == 'python':
...
else:
print "Python is Snake"
import re
data = """
park 800905-1049118
kim 700905-1059119
"""
pat = re.compile("(\d{6})[-]\d{7}")
print(pat.sub("\g<1>-*******", data))
※ 위 내용들을 토대로 코드를 간단하게 작성해보면 아래와 같은 모양이 된다.
"""
This function returns dict
"""
def func():
string_dict = {
'first': "hello world"
}
return string_dict
// 에러가 발생하는 경우
char str[] = "HELLO";
str[0] = "B";
// 올바른 사용
char str[] = "HELLO";
str[0] = 'B';
// 에러가 발생하는 경우
printf("%c","A"); printf("%s", 'A');
// 올바른 사용
printf("%c", 'A'); printf("%s", "A");
In C and in C++ single quotes identify a single character, while double quotes create a string literal. 'a' is a single a character literal, while "a" is a string literal containing an 'a' and a null terminator (that is a 2 char array).
우선 한 개는 홑따옴표, 여러 개는 쌍따옴표가 맞다. 그러나 한 개를 표현할때도 쌍따옴표를 쓰면 뒤에 널문자가 붙는다는 것!
따라서 널문자가 나타날때까지 읽는 %s
에서는 한 문자를 쓰더라도 쌍따옴표(double quotations)를 사용해야 하는 것이다.