본문 바로가기

Programming Language/Python

[Python] 반복 자료형 (list, split, join, sort, sorted)

 

 

 

 

오늘은 반복 자료형 (list, split, join, sort, sorted)에 대해 알아보겠습니다.

 

 


 

 

* 리스트

: 파이썬 반복 자료형 중 가장 많이 사용되는 것입니다. 파이썬의 리스트에 포함되는 원소들은 반드시 동일한 자료형이 아니어도 되고, 보통 대괄호 사이에 각 원소들을 쉼표로 구분하여 생성합니다.

 

test = ['one', 'two', 'three', 4, 5, 6]
print(test[0])
print(test[-1])

문자열에서 문자 위치를 인덱스라고 하듯이 리스트에서도 원소 위치를 인덱스라고 합니다.

[]사이에 인덱스 번호를 사용해서 몇번째원소인지를 지정합니다.

현재 첫번쨰 원소는 test[0]은 one이라는 문자열이고, 마지막 원소는 test[-1]로 표시하여 6입니다.

인덱스에 대한 개념이 어려우시면 아래 링크를 통해 먼저 확인해주세요.

(choseongho93.tistory.com/255)

 

 

 

test2 = [[1,2],[3,4]]
print(test2[0][1])
print(test2[1])

리스트의 원소로 다른 리스트를 포할할 수 있습니다.  심지어 다른 반복 자료형도 원소로 포함할 수 있습니다.

test2변수에 리스트의 원소로 리스트를 담아줍니다.

test2변수의 첫번째 원소 0은 [1,2]리스트이고 그안에 또 두번쨰원소1은 숫자 2이므로 2가 출력됩니다.

test2변수의 두번쨰 원소 1은 [3,4]리스트이므로 [3,4]가 출력됩니다.

 

 

 

 

test3 = test2 + test2
print(test3)

위 test2변수에 리스트로 저장한 값을 +(덧셈연산자)를 통해 리스트 뒤에 리스트를 추가할 수 있습니다.

 

 

 

 

test4 = test2 * 3
print(test4)

곱셈 연사자 *를 통해 곱한 숫자만큼 리스트를 반복하여 추가할 수 있습니다.

 

 

 

 

 

 

 

 

* split() 함수

: 문자열을 분리할 때 사용합니다. 인수로 주어진 문자열을 구별자로 사용하는데, 구별자가 존재하지 않을경우에는

공백 문자를 기준으로 문자열을 분리합니다.

분리된 문자열은 리스트로 반환됩니다.

 

* join() 함수

: 문자열을 split() 함수를 사용해서 리스트로 반환했듯이 역으로 join()함수를 사용하면 리스트를 인수로 받아서 문자열 하나로 만들 수 있습니다.

 

# split
myList = 'my name is troll'.split()
print(type(myList))
print(myList)
# join
print(' '.join(myList))

split()함수에 인수로 구별자를 지정하지 않았기에 공백문자를 기준으로 분리해줍니다.

타입은 list타입이고 문자를 분리하여 리스트가 출력됩니다.

joint()함수를 통해 리스트를 공백으로 다시 문자열로 역으로 반환하여 출력해줍니다. 

 

 

 

 

 

 

 

* sort()

: 리스트를 직접 정렬하고 None을 반환합니다.

리스트에서만 사용가능합니다.

 

* sorted()

리스트뿐 아니라 문자열, 튜플, 딕셔너리 등 반복 가능한 자료형에 모두 사용할 수 있습니다.

sorted()함수는 기존 리스트를 복사해서 새로 만들어 반환하기 때문에 sort()함수보다는 다소 느립니다. 

그리고 중요한것은 기존 리스트에는 영향을 주지 않습니다.

 

# sort 
li = [4,3,6,8,1]
li.sort()
print(li)

# sorted
li2 = [4,3,6,8,1]
print(sorted(li2))
print(li2)

li 변수를 sort함수를 통해 정렬해줍니다.

li2 변수를 sorted함수를 통해 기존 리스트를 복하해서 새로 만들어 반환해줍니다.

그리고 다시 li2를 출력하면 기존 리스트 값이 출력됩니다.