내가 보려고 정리하는 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