Text
안녕하세요 여러분, 저는 Python 인공지능 기술입니다.
이 기사에서는 가장 일반적으로 사용되는 Python 트릭에 대해 논의합니다. 이러한 기술의 대부분은 일상 업무에서 사용하는 간단한 트릭이며, 좋은 것은 모두와 공유해야 한다고 생각합니다.
더 이상 고민하지 말고 시작해 보세요! :)
때때로 루프나 반복을 사용하기 위해 사용자로부터 여러 입력을 받아야 하는 경우가 있는데, 일반적인 작성 방법은 다음과 같습니다.
# bad practice码 n1 = input("enter a number : ") n2 = input("enter a number : ") n2 = input("enter a number : ") print(n1, n2, n3)
하지만 거기에는 다음과 같이 처리하는 것이 더 좋은 방법입니다:
# good practice n1, n2, n3 = input("enter a number : ").split() print(n1, n2, n3)
코드에서 여러 조건문을 확인해야 하는 경우 all() 또는 any() 함수를 사용하여 목표를 달성할 수 있습니다. 일반적으로 and 조건이 여러 개인 경우 all()을 사용하고 or 조건이 여러 개인 경우 any()를 사용합니다. 이렇게 사용하면 코드가 더 명확해지고 읽기 쉬워지며 디버깅 시 문제를 방지하는 데 도움이 됩니다.
all()의 일반적인 예는 다음과 같습니다.
size = "lg" color = "blue" price = 50 # bad practice if size == "lg" and color == "blue" and price < 100: print("Yes, I want to but the product.")
더 나은 처리 방법은 다음과 같습니다.
# good practice conditions = [ size == "lg", color == "blue", price < 100, ] if all(conditions): print("Yes, I want to but the product.")
any()의 일반적인 예는 다음과 같습니다.
# bad practice size = "lg" color = "blue" price = 50 if size == "lg" or color == "blue" or price < 100: print("Yes, I want to but the product.")
더 나은 처리 방법은 다음과 같습니다.
# good practice conditions = [ size == "lg", color == "blue", price < 100, ] if any(conditions): print("Yes, I want to but the product.")
이것은 구현하기 쉽습니다. 사용자로부터 입력을 받아 정수로 변환하고 숫자 2에 대한 나머지 연산을 확인합니다. 나머지가 0이면 짝수입니다.
print('odd' if int(input('Enter a number: '))%2 else 'even')
파이썬에서 변수의 값을 교환해야 할 경우에는 임시 변수를 정의할 필요가 없습니다. 우리는 일반적으로 변수 교환을 구현하기 위해 다음 코드를 사용합니다:
v1 = 100 v2 = 200 # bad practice temp = v1 v1 = v2 v2 = temp
그러나 더 나은 처리 방법은 다음과 같습니다:
v1 = 100 v2 = 200 # good practice v1, v2 = v2, v1
문자열을 뒤집는 가장 간단한 방법은 [: :- 1], 코드는 다음과 같습니다.
print("John Deo"[::-1])
Python에서 문자열이 회문인지 확인하려면 다음 명령문을 사용하세요.
string.find(string[::-1]) == 0, 샘플 코드는 다음과 같습니다.
v1 = "madam" # is a palindrome string v2 = "master" # is not a palindrome string print(v1.find(v1[::-1]) == 0) # True print(v1.find(v2[::-1]) == 0) # False
대부분의 경우 조건 뒤에는 하나의 문만 있으므로 인라인 if 문을 사용하면 더 간결한 코드를 작성하는 데 도움이 됩니다. 예를 들어 일반적인 작성 방법은 다음과 같습니다.
name = "ali" age = 22 # bad practices if name: print(name) if name and age > 18: print("user is verified")
그러나 이를 처리하는 더 좋은 방법은 다음과 같습니다.
# a better approach print(name if name else "") """ here you have to define the else condition too""" # good practice name and print(name) age > 18 and name and print("user is verified")
확인하기 위해 전체 목록을 탐색할 필요가 없습니다. 중복 요소가 있는 경우 간단히 set()을 사용하여 중복 요소를 삭제할 수 있습니다. 코드는 다음과 같습니다.
lst = [1, 2, 3, 4, 3, 4, 4, 5, 6, 3, 1, 6, 7, 9, 4, 0] print(lst) unique_lst = list(set(lst)) print(unique_lst)
Python에서는 max() 함수와 통과 목록을 사용할 수 있습니다. .count는 목록의 반복 횟수를 알아내는 키입니다. 가장 많은 요소는 다음과 같습니다.
lst = [1, 2, 3, 4, 3, 4, 4, 5, 6, 3, 1, 6, 7, 9, 4, 0] most_repeated_item = max(lst, key=lst.count) print(most_repeated_item)
Python에서 제가 가장 좋아하는 기능은 목록 이해 기능입니다. 매우 간결하고 강력한 코드이며 이러한 코드는 거의 자연어처럼 읽혀집니다. 이해하기 쉽습니다. 예는 다음과 같습니다:
numbers = [1,2,3,4,5,6,7] evens = [x for x in numbers if x % 2 is 0] odds = [y for y in numbers if y not in evens] cities = ['London', 'Dublin', 'Oslo'] def visit(city): print("Welcome to "+city) for city in cities: visit(city)
Python에서는 *args를 사용하여 여러 매개변수를 함수에 전달할 수 있습니다. 예는 다음과 같습니다.
def sum_of_squares(n1, n2) return n1**2 + n2**2 print(sum_of_squares(2,3)) # output: 13 """ what ever if you want to pass, multiple args to the function as n number of args. so let's make it dynamic. """ def sum_of_squares(*args): return sum([item**2 for item in args]) # now you can pass as many parameters as you want print(sum_of_squares(2, 3, 4)) print(sum_of_squares(2, 3, 4, 5, 6))
lst = ["blue", "lightblue", "pink", "orange", "red"] for idx, item in enumerate(lst): print(idx, item)
14. 또한 두 사전을 병합합니다. 공식계정 상단 파이썬 배경 검색 후 "Advanced" 답글 달기, 깜짝 선물 패키지 받아가세요.
names = ["john", "sara", "jim", "rock"] print(", ".join(names))
결과는 다음과 같습니다.
d1 = {"v1": 22, "v2": 33} d2 = {"v2": 44, "v3": 55} d3 = {**d1, **d2} print(d3)
Python에서는 두 목록의 해당 요소로 사전을 구성해야 하는 경우 zip 기능을 사용하여 쉽게 수행할 수 있습니다. 코드는 다음과 같습니다.
{'v1': 22, 'v2': 44, 'v3': 55}
16. 사전은 값에 따라 정렬됩니다.
Python에서는 sorted() 함수를 사용하여 해당 값에 따라 사전을 정렬합니다.
keys = ['a', 'b', 'c'] vals = [1, 2, 3] zipped = dict(zip(keys, vals))
d = { "v1": 80, "v2": 20, "v3": 40, "v4": 20, "v5": 10, } sorted_d = dict(sorted(d.items(), key=lambda item: item[1])) print(sorted_d) 当然我们也可以使用itemgetter( )来替代上述 lambda函数,代码如下: from operator import itemgetter sorted_d = dict(sorted(d.items(), key=itemgetter(1)))
17.Pretty print
sorted_d = dict(sorted(d.items(), key=itemgetter(1), reverse=True))
출력은 다음과 같습니다.
from pprint import pprint data = { "name": "john deo", "age": "22", "address": {"contry": "canada", "state": "an state of canada :)", "address": "street st.34 north 12"}, "attr": {"verified": True, "emialaddress": True}, } print(data) pprint(data)
pprint 함수를 사용하면 사전 출력을 더 쉽게 읽을 수 있음을 알 수 있습니다.
위 내용은 공유할 수 있는 17가지 유용한 Python 팁!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!