파이썬 python list 정렬 sort

python list를 정렬 sort하는 방법에 대해 알아보겠습니다.

list sort / list 정렬

sort: 기본적으로 배열을 오름차순으로 정렬합니다.

Syntax: list.sort(reverse=True or False, key=function)
reverse: True일 경우 내림차순으로 정렬합니다. default값은 False 입니다.
key: 정렬 기준을 함수의 결과를 기준으로 변경합니다.


list = ['kiwi', 'melon', 'apple'] list.sort() print(list) # print: ['apple', 'kiwi', 'melon'] list = ['kiwi', 'melon', 'apple'] list.sort(reverse=True) print(list) # print: ['melon', 'kiwi', 'apple']

sort 함수를 이용하여 간단하게 배열을 오름차순으로 정렬 시킬 수 있습니다.
reverse=True 값을 이용하여 내림차순으로도 쉽게 정렬할 수 있습니다.



list sort with key function

key function을 지정하지 않으면 일반적인 순서에 따라 배열의 값을 오름차순 혹은 내림차순으로 정렬합니다.
key function을 이용하여 정렬 기준을 변경하여 배열을 정렬할 수 있습니다.


def lenFunc(e): return len(e) list = ['kiwi', 'banana', 'apple'] list.sort(key=lenFunc) print(list) # print: ['kiwi', 'apple', 'banana'] list = ['kiwi', 'banana', 'apple'] list.sort(key=lenFunc) print(list) # print: ['banana', 'apple', 'kiwi']

lenFunc 길이를 return하는 함수를 선언하여 정렬의 기준을 문자열의 길이로 변경하였습니다.
문자열의 길이를 기준으로 오름차순으로 정렬된 배열을 확인할 수 있습니다.
reverse=True를 적용하여 내림차순으로도 정렬할 수 있습니다.

key function을 잘 활용하면 다양한 기준을 적용하여 유용하게 사용할 수 있습니다.


[Python] - 파이썬 python list 찾기

[Python] - 파이썬 python list 추가 삭제

[Python] - 파이썬 python string, array, tuple length 길이

[Python] - 파이썬 python string to list 문자열을 리스트로

파이썬 python string to list 문자열을 리스트로 변경

파이썬에서 문자열을 리스트로 변경하는 방법에 대해 알아보겠습니다.
split 메서드를 이용하여 특정 구분자를 기준으로 나누는 방법과 for문를 이용하여 문자열을 배열로 변경할 수 있습니다.

string split method

문자열을 특정 구분자로 구분하여 문자열을 나누고 배열을 반환합니다.

Syntax: string.split(separator, maxsplit)


str = 'hello world ?!' list = str.split(' ') print(list) # print: ['hello', 'world', '?!'] print(len(list)) # print: 3

공백을 기준으로 문자열로 나누어진 배열을 반환합니다.


str = 'hello world ?!' list = str.split(' ', 1) print(list) # print: ['hello', 'world ?!'] print(len(list)) # print: 2

maxsplit 값을 입력하면 입력된 크기까지만 구분하여 배열을 반환합니다.


두 예제의 리턴 배열의 갯수가 다른걸 확인할 수 있습니다.


array of characters list method

array list의 생성자에 문자열을 넣으면 단일 문자로 구분된 배열을 반환합니다.

str = 'helloworld?!' list = list(str) print(list) # print: ['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd', '?', '!'] print(len(list)) # print: 12

for문 사용

for문을 이용하여 문자열을 리스트로 변경해보겠습니다.

str = 'helloworld?!' list = list() for char in str: list.append(char) print(list) # print: ['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd', '?', '!'] print(len(list)) # print: 12

string 또는 array에서 기본 제공하는 built-in method를 사용하는게 보기도 좋고 편리합니다.
built-in method를 먼저 찾아보는 게 도움이 됩니다.


[Python] - 파이썬 python list 찾기

[Python] - 파이썬 python list to string 리스트를 문자열로 변경

[Python] - 파이썬 python string, array, tuple length 길이

파이썬 python list 추가 삭제

python list에 추가 삭제에 대해 알아보겠습니다.

list add / 리스트 추가

append: 리스트의 끝에 데이터를 추가합니다.
insert(i, x): index 위치에 데이터를 추가합니다.
extend: 리스트의 끝에 배열을 추가합니다.


list = ['apple', 'melon', 'kiwi'] list.append('grape') print(list) # print: ['apple', 'melon', 'kiwi', 'grape'] list = ['apple', 'melon', 'kiwi'] list.insert(0, 'grape') print(list) # print: ['grape', 'apple', 'melon', 'kiwi'] list = ['apple', 'melon'] list2 = ['grape', 'kiwi'] list.extend(list2) print(list) # print: ['apple', 'melon', 'grape', 'kiwi']

append는 배열의 맨 마지막에 요소를 추가합니다.
insert는 index를 지정하여 원하는 위치에 요소를 추가할 수 있습니다.


list remove / 리스트 삭제

remove(x): 리스트에서 값이 x와 같은 첫 번째 항목을 삭제합니다.

첫 번째 항목 하나만 삭제하는 부분에 유의해야합니다.

pop([i]): index를 지정하면 index 위치에 데이터를 삭제합니다.

index를 지정하지 않으면 리스트의 맨 마지막 데이터를 삭제합니다.


list = ['apple', 'apple', 'grape', 'kiwi'] list.remove('apple') print(list) # print: ['apple', 'grape', 'kiwi'] list = ['apple', 'melon', 'grape', 'kiwi'] list.pop() print(list) # print: ['apple', 'melon', 'grape'] list.pop(0) print(list) # print: ['melon', 'grape']


list clear / 리스트 전체 삭제

clear: 리스트의 모든 항목을 삭제합니다.

list.clear 함수는 Python 3.3 버전부터 추가되어 2.x 버전에서는 사용할 수 없습니다.
del list[:]를 이용하여 clear와 같이 사용할 수 있습니다.


# 2.x version list = ['apple', 'melon', 'grape', 'kiwi'] del list[:] print(list) # print: []
# 3.x version list = ['apple', 'melon', 'grape', 'kiwi'] list.clear() print(list) # print: []

[Python] - 파이썬 python list 찾기

[Python] - 파이썬 python list to string 리스트를 문자열로 변경

[Python] - 파이썬 python string, array, tuple length 길이

파이썬 python list 값 요소 찾기

python list에서 원하는 값(요소)를 찾는 방법에 대해 알아보겠습니다.
list안의 값을 찾는 법은 여러 방법으로 구현할 수 있습니다.
각각의 방법에 대해 비교해보시고 상황에 맞게 적용하시기 바랍니다.

list[index]

list의 값의 index번호를 알고 있으면 index값을 적용하여 값을 가져올 수 있습니다.

list = ['apple', 'melon', 'grape', 'kiwi'] found = list[1] print(found) # print: melon found = list[1] print(found) # print: kiwi

in operator

in 연산자를 이용하여 list에 찾는 값이 존재하는지 확인할 수 있습니다.

list = ['apple', 'melon', 'grape', 'kiwi'] if 'apple' in list: print(True) # print: True list = ['apple', 'melon', 'grape', 'kiwi'] if 'Apple' not in list: print(True) # print: True

NOTE: 찾고자 하는 값이 문자나 문자열일 경우 대소문자를 구분합니다.


list.index

list에서 찾고자 하는 값고 정확히 일치하는 첫번째 값의 index 값을 반환합니다.
존재하는 모든 값의 index를 구하려면 다른 방법으로 구해야합니다.

Syntax: list.index(element)

  • element: list에서 찾고자 하는 값

list = ['apple', 'melon', 'grape', 'kiwi'] found = list.index('melon') print(found) # print: 1 list = ['apple', 'apple', 'melon', 'grape', 'kiwi', 'apple'] found = list.index('apple') print(found) # print: 0 found = list.index('banana') print(found) # print: ValueError: 'banana' is not in list

NOTE: 찾고자 하는 값이 문자나 문자열일 경우 대소문자를 구분합니다.
값이 존재하지 않으면 ValueError를 반환합니다.


list.count

list에서 찾고자 하는 값의 갯수를 반환합니다.
찾고자 하는 값이 존재하지 않으면 0을 반환합니다.

Syntax: list.count(value)

  • value: list에서 찾고자 하는 값
list = ['apple', 'melon', 'grape', 'kiwi'] count = list.count('apple') print(count) # print: 1 list = ['apple', 'apple', 'melon', 'grape', 'kiwi', 'apple'] count = list.count('apple') print(count) # print: 3 count = list.count('banana') print(count) # print: 0 list = ['apple', ['apple', 'melon'], 'grape', 'kiwi', 'apple'] count = list.count(['apple', 'melon']) print(count) # print: 1

INFO: parameter는 string, number, list등의 찾고자 하는 타입을 입력할 수 있습니다.


[Python] - 파이썬 python list to string 리스트를 문자열로 변경

[Python] - 파이썬 python 문자열 찾기

[Python] - 파이썬 python string, array, tuple length 길이

[Python] - 파이썬 python 문자열 공백 제거 / 삭제



파이썬 python list to string 리스트를 문자열로 변경

파이썬에서 리스트 문자로 변경하는 방법에 대해 알아보겠습니다.
join 메서드를 이용하는 방법과 for문를 이용하여 배열을 문자열로 변경할 수 있습니다.
두 가지 방법을 비교해 보겠습니다.

  • join: 리스트의 모든 요소를 합쳐 하나의 문자열을 반환합니다.

- join

배열의 모든 요소를 합쳐 하나의 문자열을 반환합니다.
새로운 문자열을 반환합니다.

Syntax: separator.join(iterable)


list = ['a', 'b', 'c'] print(''.join(list)) # print: abc print(','.join(list)) # print: a,b,c

INFO: 지정된 구분자로 구분되어 모든 요소를 합친 새로운 문자열을 반환합니다.


list = ['1', 2, 3] print(','.join(list)) # print: TypeError: sequence item 1: expected string, int found

INFO: 배열안의 요소가 string 형이 아니면 에러가 발생한다.


list = ['1', 2, 3] print(','.join(str(e) for e in list)) # print: 1,2,3

INFO: join 메서드를 실행하기 전에 배열안의 요소를 string형으로 형 변환하여 예외처리 할 수 있다.



for문 사용

for문을 이용하여 리스트의 값을 문자열로 변경해보겠습니다.

list = ['a', 'b', 'c'] str = '' separtor = ',' for idx, val in enumerate(list): str += val + ('' if idx == len(list) -1 else separtor) print(str) # print: a,b,c

INFO: for문을 사용하면 join 함수 외에 enumerate, len, 삼항연산자 등으로 구현 해야하기 때문에 join 함수를 이용하는게 보기도 좋고 쉽다.


join 메서드, 배열의 요소를 구분자로 구분하여 하나의 문자열로 반환하는 함수에 대해 알아보았습니다.
태그 목록을 # 기호로 구분하여 표시하거나 시간에 대한 정보를 배열로 가지고있을 때(['02', '30', '24']) 유용하게 쓸 수 있을꺼 같습니다.


[Python] - 파이썬 python list 찾기

[Python] - 파이썬 python string, array, tuple length 길이

[Python] - 파이썬 python string to list 문자열을 리스트로

python 문자열 내장 함수에서 python 문자열 공백을 제거하는 함수에 대해 알아보겠습니다.

  • strip: 문자열의 시작과 끝의 공백을 제거합니다.
  • lstrip: 문자열의 시작의 공백을 제거합니다.
  • rstrip: 문자열의 끝의 공백을 제거합니다.

- strip

strip 메서드는 문자열의 양 끝의 공백을 모두 제거하는 메서드입니다.
새로운 문자열을 반환합니다.

Syntax: string.strip(characters)

txt = ' python ' print(txt.strip()) # print: python txt = ',.,.,,python?!?!?' print(txt.strip(',.?!')) # print: python

INFO: strip 메서드의 문자열 파라미터를 입력하면 문자열의 앞쪽과 뒤쪽에 일치하는 문자 모두 제거합니다.

- lstrip

lstrip 메서드는 문자열의 시작의 공백을 모두 제거하는 메서드입니다.
새로운 문자열을 반환합니다.

Syntax: string.lstrip(characters)

txt = ' python ' print(txt.lstrip()) # print: "python " txt = ',.,.,,python?!?!?' print(txt.lstrip(',.?!')) # print: python?!?!?

INFO: lstrip 메서드의 문자열 파라미터를 입력하면 문자열의 앞에서 일치하는 문자 모두 제거합니다.


- rstrip

rstrip 메서드는 문자열의 끝의 공백을 모두 제거하는 메서드입니다.
새로운 문자열을 반환합니다.

Syntax: string.rstrip(characters)

txt = ' python ' print(txt.rstrip()) # print: " python" txt = ',.,.,,python?!?!?' print(txt.rstrip(',.?!')) # print: ,.,.,,python

INFO: rstrip 메서드의 문자열 파라미터를 입력하면 문자열의 끝에서 일치하는 문자 모두 제거합니다.


[Python] - 파이썬 python string, array, tuple length 길이

[Python] - 파이썬 python 문자열 찾기

[Python] - [python] 파이썬 문자열 비교




python 객체(문자열 또는 배열, 튜플, ...)의 길이를 확인하는 방법에 대해 알아보겠습니다.

  • len: 객체의 길이를 반환하는 내장 함수 입니다.

- len

len 속성은 객체(배열, 문자열, 튜플, ...)의 길이를 반환합니다.

  • 문자열의 길이 구하기
txt = 'python' print(len(txt)) # print: 6 txt = ' python ' print(len(txt)) # print: 8

INFO: ' python '에서 볼 수 있듯이 공백도 포함한 길이를 반환합니다.

  • 배열의 길이 구하기
arr = ['python', 'is', 'so', 'good'] print(len(arr)) # print: 4

  • 튜플의 길이 구하기
arr = ('python', 'is', 'so', 'good') print(len(arr)) # print: 4

- len 활용

간단한 예제를 이용하여 len 메서드을 활용해보겠습니다.

str = 'python is so good' new_str = str[0:len(str)-1] print(new_str) # print: python is so goo

INFO: 문자열의 처음부터 맨 마지막 문자를 뺴고 끝까지 출력합니다.

str = 'python is so good' new_str = str[len(str)-1] print(new_str) # print: d

INFO: 문자열의 맨 마지막 위치에 있는 문자를 출력합니다.

str = 'python is so good' for index in range(len(str)): print(str[index]) # p # y # t # h # o # n # # i # s # # s # o # # g # o # o # d

INFO: 첫 문자부터 끝까지 한 글자씩 출력합니다.


파이썬 python 문자열 찾기

파이썬 문자열 내장 함수에서 문자열을 찾는 함수에 대해 알아보겠습니다.

  • count: 찾는 문자열의 갯수를 반환합니다.
  • find: 찾는 문자열의 position 값을 반환합니다.
  • index: 찾는 문자열의 position 값을 반환합니다.
  • startswith: 대상 문자열이 지정된 문자열로 시작하는지 판단합니다.
  • endswith: 대상 문자열이 지정된 문자열로 끝나는지 판단합니다.

- count

대상 문자열에서 찾는 문자열의 갯수를 반환합니다.

txt = 'Hello, Hello, welcome to the python world.' print(txt.count('Hello')) # print: 2 print(txt.count('welcome')) # print: 1 print(txt.count('goodbye')) # print: 0

- find

대상 문자열에서 찾는 문자열의 position 값을 반환합니다.

txt = 'Hello, welcome to the python world.' print(txt.find('python')) # print: 22 print(txt.find('welcome')) # print: 7 print(txt.find('goodbye')) # print: -1

INFO: 문자열이 존재하지 않는 경우 -1 을 반환합니다.


- index

대상 문자열에서 찾는 문자열의 position 값을 반환합니다.

txt = 'Hello, welcome to the python world.' print(txt.index('python')) # print: 22 print(txt.index('welcome')) # print: 7 print(txt.index('goodbye')) # print: ValueError: substring not found

INFO: 문자열이 존재하지 않는 경우 ValueError를 반환합니다.
find와 index의 차이는 문자열을 찾지 못했을 경우
find는 -1 을 반환하고 index는 ValueError를 반환한다는 것입니다.

- startswith

대상 문자열에서 지정된 문자열로 시작하는지를 판단합니다.
맞으면 True 틀리면 False를 반환합니다.

txt = 'Hello, welcome to the python world.' print(txt.startswith('Hello')) # print: True print(txt.startswith('welcome')) # print: False

- endswith

startswith과 반대로 대상 문자열에서 지정된 문자열로 끝나는지를 판단합니다.
맞으면 True 틀리면 False를 반환합니다.

txt = 'Hello, welcome to the python world.' print(txt.endswith('world.')) # print: True print(txt.endswith('python')) # print: False

+ Recent posts