Python 간단 팁
반응형

리스트 역변환시키기

a=[“10”,”9",”8",”7"]
print(a[::-1])
a.reverse()

Output:
['7', '8', '9', '10']


# a[::-1]과 a.reverse()의 차이점
# a[::-1]의 경우 실 데이터 변경없이 거꾸로 출력만 진행하되
# reverse의 경우 실 데이터 자체를 역변환 시켜버림으로써 이 다음 작업 진행 시에도 역변환이 진행되었다는 것을 알고 있어야 한다.

 

리스트 합치기

a=[‘a’,’b’,’c’,’d’]
b=[‘e’,’f’,’g’,’h’]
for x, y in zip(a, b):
  print(x,y)

Output:
a e
b f
c g
d h

 

리스트 내에서 빈번한 값 찾기

a = [1, 2, 3, 4, 2, 2, 3, 1, 4, 4, 4]
print(max(set(a), key = a.count))

Output:
4

# 가장 빈번한 수를 찾으나 동하게 빈번한 값이 나오면 1개만 나온다 즉
# a = [1, 2, 2, 4, 2, 2, 3, 1, 4, 4, 4]
# 위와 같은 리스트라면 2와 4가 빈번한 값. 하지만 print를 해보면 2만 표출된다


# 추가로 collection package를 이용하여도 계산할 수 있음

import collections

A = collections.Counter([1, 1, 2, 2, 3, 3, 3, 3, 2, 2, 6, 7])
print(A)

print(A.most_common(2))

print(A.most_common(3))

Output:
Counter({2: 4, 3: 4, 1: 2, 6: 1, 7: 1})
[(2, 4), (3, 4)]
[(2, 4), (3, 4), (1, 2)]

# most_common() 함수를 이용하여 가장 빈번한 값, 두번째, 세번째까지 표출 할 수 있음
# 이 함수 마찬가지로 동일한 숫자일때는 다른 조건문을 더 넣어주어야 한다.

 

string 역변환

a=”python”
print(“Reverse is”, a[::-1])

Output:
Reverse is nohtyp

 

string 반복 출력

print(“on”*3+’ ‘+”off”*2)

Output:
ononon offoff

 

2개의 string 비교(아나그램)

# 아나그램이란 작성된 텍스트들이 순서와 상과넚이 모두 쓰였는지 확인하는 로직이다.

from collections import Counter

def is_anagram(str1, str2):
  return Counter(str1) == Counter(str2)

print(is_anagram(‘taste’, ‘state))
print(is_anagram(‘beach’, ‘peach’))

Output:
True
False

 

상수 값 비교

a = 10

if 0 < a < 20:
  print("True")
  
# and, or 구문 사용없이 2가지 조건을 사용할 수 있다.

 

fstring

name = "minsu"
age = 20

print(f"my name is {name}, age is {age}")

Output:
my name is minsu, age is 20

 

random 선택

import random
list_data = ["호랑이", "사자", "원숭이"]
print(random.choice(list_data))

Output:
사자

# 정해진 항목중에서 랜덤으로 뽑기..!
# 이부분은 그냥 랜덤으로 뽑고 랜덤값을 enum으로 해서 가져오거나 하는 여러 방법들이 있지만.
# 파이썬에서는 애초에 정해진 리스트에서 뽑기로 가져오기가 존재한다.

 

Dictionary key, value 변환 (key : value -> value : key)

dict1={‘a’: 1, ‘b’: 2,‘c’: 3,‘d’: 4,‘e’: 5,‘f’: 6, ‘g’: 7}
dict2={v: k for k, v in dict1.items()}
print(dict2)

Output:
{1: ‘a’, 2: ‘b’, 3: ‘c’, 4: ‘d’, 5: ‘e’, 6: ‘f’, 7: ‘g’}

 

Dictionary key, value 모두 표출하기

dict1={‘a’: 1, ‘b’: 2, ‘c’: 3, ‘d’: 4, ‘e’: 5, ‘f’: 6}
for a, b in dict1.iteritems():
 print (‘{: {}’.format(a,b))

Output:
a: 1
b: 2
c: 3
d: 4
f: 6

 

list에 특정 값으로 모두 초기화 하기

#listA contains 1000 1's
listA=[1]*1000

#listB contains 1000 2's
listB=[2]*1000

# Dict, Tupel등은 안됨

 

변수 스왑하기

x, y = 13, 26
x, y = y, x
print(x, y)

Output:
26 13

 

중복제거

print(list(set([1,2,3,4,3,4,5,6,7,8,9])))

Output:
[1, 2, 3, 4, 5, 6, 7, 8, 9]

 

리스트 끼리 합치기

a = [1, 2, 3, 4] # list 1
b = [ 5, 6, 7, 8, 9] # list 2

a.extend(b)

print(a)

Output:
[1, 2, 3, 4]

a = [1, 2, 3, 4] # list 1
b = [ 5, 6, 7, 8, 9] # list 2

a.append(b)

print(a)

Output:
[1, 2, 3, 4 [5, 6, 7, 8, 9]]

# 리스트 내에 리스트로 들어가느냐..
# 리스트 내에 아이템으로 들어가느냐 차이 발생

 

시간계산하기

import time

startTime = time.time()

# your code

endTime = time.time()
totalTime = endTime - startTime

print("Execute code is= ", totalTime)
반응형