사례: 다음 목록 데이터에서 0보다 큰 숫자를 필터링하는 방법
data = [1, -1, 2, 3, 4, 7]复制代码
필터 함수를 사용하세요. 첫 번째 매개변수는 함수입니다. , 다음 코드와 같은 람다 식을 전달할 수도 있습니다.
list(filter(lambda x: x >= 0, data))复制代码
또 다른 해결책은 다음과 같이 목록 생성을 사용하는 것입니다. 이 솔루션은 이전 솔루션보다 더 효율적입니다.
print([x for x in data if x >= 0])复制代码
사전과 같은 데이터 구조에서도 유사한 사전 제작을 사용할 수 있습니다.
from random import randint d = { x: randint(60, 100) for x in range(1, 21)} {k:v for k, v in d.items() if v >= 90}复制代码
계획: 상수를 정의하고 상수를 사용하여 튜플의 요소를 색인화합니다(예: 다음 코드)
stu = ('hao', 18, 'male', '1078244513@qq.com') NAME = 0AGE = 1SEX = 2print(stu[SEX])复制代码
계획: 컬렉션 패키지의 명명된 튜플 함수를 사용합니다. 함수는 새로운 "클래스"의 정의를 반환하며 다음과 같이 사용됩니다.
from collections import namedtuple Stu = namedtuple('Stu', ['name', 'age', 'sex', 'email'])# stu = Stu('hao', 18, 'male', '1078244513@qq.com')stu = Stu(name='hao', age=18, sex='male', email='1078244513@qq.com') print(stu.email)复制代码
질문: 다음 숫자 목록에 각 숫자가 나타나는 횟수를 계산하세요.
from random import randint data = [randint(0, 20) for _ in range(30)]复制代码
계획: dict(사전)를 정의한 다음 배열을 순회하세요.
c = dict.fromkeys(data, 0)复制代码
위 코드는 데이터의 다양한 값을 키로, 0을 값으로 사용하여 사전 개체를 생성합니다.
for x in data: c[x] += 1复制代码
해결 방법: 컬렉션 패키지의 카운터 기능을 사용하세요.
c2 = Counter(data)复制代码
이 솔루션을 사용하면 가장 많이 나타나는 상위 몇 가지 항목도 쉽게 얻을 수 있습니다.
c2.most_common(3)复制代码
질문: 다음 사전에 있는 값을 정렬하세요
cj = {x: randint(60, 100) for x in 'xyzabc'}复制代码
해결: 정렬 함수의 두 번째 매개변수 함수 객체에 전달될 수 있으며, sorted는 함수의 반환 값에 따라 정렬됩니다.
sorted(cj.items(), key=lambda item:item[1])复制代码
참고: 이 함수는 새로운 사전 객체를 반환합니다
먼저, Random 패키지에 있는 Python의 샘플링 함수 샘플을 소개하겠습니다. 이는 시퀀스 유형 매개변수와 숫자를 사용하고 시퀀스에서 무작위로 샘플링된 시퀀스를 반환합니다. 다음 코드.
from random import sample sample('abcdefg', 3)复制代码
질문: 다음 세 가지 컬렉션의 공통 키를 얻는 방법.
s1 = {x : randint(1, 4) for x in sample('abcdefg', randint(3, 6))} s2 = {x : randint(1, 4) for x in sample('abcdefg', randint(3, 6))} s3 = {x : randint(1, 4) for x in sample('abcdefg', andint(3, 6))}复制代码
이 작업은 집합의 교집합 연산을 사용하여 수행할 수 있습니다.
s1.keys() & s2.keys() & s3.keys()复制代码
컬렉션 패키지의 OrderedDict 유형은 사전에 들어가는 순서를 유지합니다.
관련 무료 학습 권장사항: python 비디오 튜토리얼
위 내용은 Python 프로그래밍 마스터를 위해 작성된 데이터 구조의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!