저는 C++ 트릭 게시물을 올렸고 제가 아는 더 많은 트릭에 대해 쓰고 싶었습니다. C++로 코딩했지만 대부분 Python과 JS에 있었기 때문입니다. 훨씬 더 많지만 어쨌든 여기에 있습니다. 기본 Python 구문에 대한 사소한 것부터 시작하겠습니다. 하지만 초보자에게 알려지지 않은 몇 가지 사항이 있습니다. 별표로 표시했습니다 ⭐️:
목록의 하위 배열에 액세스하는 쉬운 방법
둘 다 동일한 메모리 할당이므로 하나를 수정하면 다른 것도 수정됩니다
3가지 방법:
몇 가지 기본적인 목록 이해부터 시작하겠지만 금방 덜 사소해질 것입니다.
values = [word for word in values if len(word) > 1 and word[0] == 'a' and word[-1] == 'y'] # OR, a nicer way is ⭐️ values = [ string for string in values if len(string) > 1 if string[0] == 'a' if string[-1] == 'y' ]
목록의 목록 또는 2D 행렬 병합
중첩 목록 이해: 행렬(목록 목록) 평면화 ⭐️
예: 행렬 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
values = [ number for row in matrix for number in row ] # first for loop then the next for loop is inside the first and so on
values = [ "Even" if x % 2 == 0 else "Odd" for x in range(10) ]
이 구문 ->
"Even" if x % 2 == 0 else "Odd"는 Python의 여러 위치에서 유효하며 변수에 넣을 수도 있습니다. 이는 기본적으로 삼항 연산자이지만 더 장황합니다
⭐️ 목록 이해를 이해하려면 항상 표현식의 왼쪽과 오른쪽을 살펴보세요. 모든 중첩 루프는 왼쪽에서 오른쪽으로 이동합니다. if else가 for 루프의 왼쪽에 있으면 어떤 값이 있는지 확인합니다. if else 조건에 따라 삽입하고 싶은데 for 루프가 오른쪽에 있으면 목록에서 필터링하려고 합니다.
예를 들어 5x5x5 목록을 생성하려면: ⭐️
values = [[[num+1 for num in range(5)] for _ in range(5)] for _ in range(5)]
⭐️ for 루프의 가장 바깥쪽을 찾으세요. 왼쪽에 있는 것은 값[] 배열에 추가됩니다. 이 구문의 의미는 for _ in range(5)가 무엇이든 하고 싶다는 것입니다. 이 for 루프의 왼쪽을 5번 반복합니다(각 반복에서 반복자 변수의 값에 신경 쓰지 않기 때문입니다)
쌍이 있는 경우 = [("a", 1), ("b", 2)]: 쌍 또는 튜플 목록
-> my_dict = {k:v for k, v in pair}: 값 압축 풀기, 이것이 작동하려면 쌍으로 된 각 "쌍"에는 정확히 2개의 엔터티가 있어야 합니다
숫자 = [1, 2, 3, 1, 3, 2, 4, 2, 1, 3]
unique_nums = {x for x in nums}: Python은 키가 없기 때문에 이것이 집합이어야 한다는 것을 알게 됩니다
시간이 나면 이 글을 쓰겠지만, 여기에서 확인할 수 있습니다: AdvancedPythonConcepts 이것은 제가 Python 개념을 처음 배웠을 때 문서화한 제 git 저장소입니다. 시간이 나면 이 레포를 바탕으로 이 글을 작성하겠습니다...
위 내용은 Python 노트/트릭/레슨/뉘앙스의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!