본문 바로가기

Python

python. 유용한 코드

[1. 개요]

python 코드 작성 시, 유용한 팁

  • 배열 초기화
  • 리스트 정렬
  • 문자 <-> 정수 변환
  • 리스트 순회
  • 기타...

[2. 배열 초기화]

mylist1 = [0] * 10
# 길이가 10인 리스트를 0으로 초기화

mylist2 = [i for i in range(5)]
# 길이가 5인 리스트를 0부터 4까지로 초기화

print(mylist1)
# output
# [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

print(mylist2)
# output
# [0, 1, 2, 3, 4]

 


[3. 리스트 정렬]

mylist = [5, 4, 3, 2, 1]

mylist2 = sorted(mylist)
# 주어진 배열을 정렬하여, 새로운 리스트에 저장
# 원래 배열에는 변화 없음
print(mylist)
# output
# [5, 4, 3, 2, 1]


print(mylist2)
# output
# [1, 2, 3, 4, 5]


mylist.sort()
# 주어진 배열을 정렬.
print(mylist)
# output
# [5, 4, 3, 2, 1]

persons = [['Z', 1], ['A', 1], ['A', 3], ['A', 2]]
persons.sort(key=lambda v : (v[0], -v[1]))
print(persons)
# output
# 문자는 오름차순으로
# 숫자는 내림차순으로 정렬한다.
# c++ sort 에서 std::tie() 로 비교하는 것과 비슷하다.
# [['A', 3], ['A', 2], ['A', 1], ['Z', 1]]

[4. 문자 <-> 정수 변환]

start = ord('A')
# ord: 문자를 정수로
end = ord('Z')

for i in range(start, end+1):
    print(i, chr(i))
    # chr: 정수를 문자로


# output
# 대문자 알파벳에 해당하는 아스키 코드 값
# 대문자 알파벳

[5. 리스트 순회]

mylist = [i for i in range(9)]

# 배열 내 값 순회
for v in mylist:
    print(v, end=" ")
print("\n=====")


# 배열의 index 와 value 를 같이 순회
for i, v in enumerate(mylist):
    print(i, v, mylist[i], "|", end=" ")
print("\n=====")


# 배열을 역을 순회
for v in mylist[::-1]:
    print(v, end=" ")
print("\n=====")


# 배열을 처음부터 2칸 씩 순회
for v in mylist[::2]:
    print(v, end=" ")
print("\n=====")


# 1부터, 길이 마지막까지 2칸 씩 순회
for i in range(1, len(mylist), 2):
    print(mylist[i], end=" ")
print("\n=====")


# 배열을 역으로 순회하되, index 도 같이 순회
for i, v in enumerate(mylist[::-1]):
    print(i, v, "|", end=" ")

 

 

'Python' 카테고리의 다른 글

[python] bearing  (0) 2024.03.27
[python] haversine distance  (0) 2024.03.27
python. io 성능  (0) 2023.10.04
python. shallow/deep copy  (0) 2023.10.04
Package datetime  (0) 2021.11.16