Python에서 Kotlin으로 갈아타기
내가 보려고 정리하는 Python과 Kotlin의 문법 차이
array 선언과 출력
-
var(val) arr = Array(size) { i -> 0} lambda 사용은 다행히 파이썬이랑 비슷하다. ex) val square = Array(5) { i -> (i * i).toString()}
- 어레이 출력하는 법 arrayName.foreach { print(it) } https://jimoo-vision.tistory.com/20
- 어레이 배열 형태로 출력하는법 print(arrayName.contentToString())
- 어레이 요소를 문자열로 합쳐서 출력하기 print(arrayName.joinToString(‘’)) python의 ‘sep’.join.listName이랑 비슷하다
- 다차원 배열 출력
print(arrayName.contentDeepToString())
for문 문법
- for(i in 1..10) : range(1, 11) 동일
- for(i in 1 until 10) : range(1,10) 동일
- for(i in 1..10 step(2)) : range(1, 11, 2) 동일
- for(i in 10 downTo 1) : range(10, 0, -1) 동일
- for(i in 10 downTo 1 step(2)) : range(10, 0, -2) 동일
- for(i in arr) : for i in arr 동일
- for(i in arr.reversed()) : for i in arr[::-1] 동일
- while(a <= 10) { }
- python과 다르게 do while 을 지원함.
- for( (index, item) in arr.withIndex() ) : enumerate(arr) 동일 forEachIndexed() 도 사용 가능
- repeat(n) { } : for _ in range(n): 동일
if문 문법
- if (조건 A) { } else if (조건 B) { } else { }
정렬
- sort(), sorted()의 차이는 python과 동일함.
- arrayName.sortedByDescending 내림차순 정렬
- arrayName.sortBy { it.second } : lambda tuple(list) 정렬과 동일. 어레이 요소의 두번째 값으로 정렬해준다.
any(), all(), none()
하 다행이다… python과 기능이 동일하다! 하지만 문법이 좀 다르다. all(list) 가 아니라 arrayName.all { it == True} 이런식으로 사용!
tuple 과 비슷한 Pair 객체
https://medium.com/@limgyumin/코틀린-의-pair-와-triple-c53657926c63