Python-사전 및 집합의 조작 및 제어문

4801 단어

자전


사전은 순서가 없는 가변 서열이다. 그는 보통 쌍으로 저장되고 모든 요소에 키 값 쌍이 있다. 키 대상을 통해 값 대상을 찾을 수 있다. 키 대상은 임의의 가변 대상이고 중복할 수 없다. 예를 들어 원조, 문자열, 값 대상은 임의의 대상이고 중복할 수 있다.예:a={'name':'txy','age':'23'}에서name와age는 키 대상이고 txy와123은 값 대상이다

사전 생성

  • 은 dict(), {}를 통해 사전 대상을 만들 수 있습니다. 예: a={'name':'txy','age':'23'}/a=dict(name:'txy', age:23)/a=dict([(name','txy')))('age', 23)])
  • zip을 통해 사전 대상 k=['name','age','job'] v=['txy','23','student'], d=dict(zip(k, v))
  • fromkeys를 통해 빈 사전 a=dict.fromkeys(['name','age','job'])
  • 사전 요소 액세스

  • 키를 통해 또는 값을 입력하고 키가 존재하지 않으면 오류
  • 은 get() 방법을 통해 값을 얻을 수 있습니다. None으로 되돌아오거나 기본적으로 되돌아오는 대상이 존재하지 않으면 a.get(존재하지 않는 대상, 존재하지 않는 대상)
  • 을 추천합니다.
  • items()를 통해 모든 키 값 쌍
  • 은 키스()를 통해 모든 키를 표시하고,values()를 통해 모든 값을 표시합니다
  • len() 키 값 쌍 나열
  • 은 인 조작부호로 키가 사전에서
  • 인지 검사합니다

    사전 요소 추가 수정 및 삭제

  • 은 a['address']='Shanghai'를 직접 추가합니다. 키가 존재하면 오래된 키 값을 덮어쓰고 키가 존재하지 않으면 새 키 값을 추가합니다.
  • 은 업데이트 ()를 통해 새 사전의 모든 키 값을 이전 사전의 대상에 추가합니다. 키가 존재하면 덮어씁니다.a.update(b) # a
  • 을 b로 완전히 교체
  • 사전에서 요소의 삭제는del(),clear()를 통해 모든 키 값 쌍을 삭제할 수 있고pop()는 지정한 키 값 쌍을 삭제할 수 있지만 삭제된 키에 대응하는 값
  • 을 되돌려줍니다
  • popitem (): 이 키 값을 무작위로 삭제하고 되돌려줍니다
  • 시퀀스 패키지 해제


    목록에도 사용할 수 있고 사전에도 사용할 수 있으며 여러 변수에 값을 부여하는 데 쓰인다.사전을 서열 해제할 때 기본적으로 키에 대한 조작을 하고 키 값에 대한 조작은 코드items(), 값에 대한 조작은 코드values()를 사용합니다.

    사전과 목록으로 표를 저장하다

    r1={"  ":"  ","  ":"SUV","  ":400000,"  ":"  "}
    r2={"  ":"  ","  ":"  ","  ":500000,"  ":"  "}
    r3={"  ":"   ","  ":"  ","  ":1200000,"  ":"  "}
    
    tb=[r1,r2,r3]
    
    #         
    print(tb[1].get("  "))
    
    #      
    for i in range(len(tb)): #i-->0,1,2
        print(tb[i].get("  "))
        
    #       
    for i in range (len(tb)):
        print(tb[i].get("  "),tb[i].get("  "),tb[i].get("  "),tb[i].get("  "))
    

    사전 핵심 베이스 원리


    사전에는 많은 공백 요소 그룹이 존재하는데, 그룹의 단원은 버킷이라고 한다. 버킷은 두 가지 부분이 있는데, 하나는 키 대상의 인용이고, 하나는 값 대상의 인용이며, 편이량을 사용하여 버킷에 접근할 수 있다.
    키 값을 사전에 넣는 핵심 과정은 키를 사전에 넣는 색인 숫자이다.
    먼저 키를hash값으로 바꾸고hash ("name") 를 통해 bin을 사용하면 이진수를 볼 수 있습니다.대상 사전의 그룹 값이 8이면 맨 오른쪽 세 자리를 사용해서 색인 숫자를 찾을 수 있고, 비어 있으면 값을 낮추고, 비어 있지 않으면 세 자리를 왼쪽으로 옮겨서 색인 값을 확정할 수 있으며, 값이 들어갈 때까지 3분의 2의 위치가 꽉 차면 그룹을 확장할 수 있다.

    키에 따라'키 값 쌍'의 밑바닥 과정을 찾습니다.


    첫 번째 단계는 넣는 절차와 같이 필요한 값의 키를hash한 다음bin()을 통해 색인 값을 얻는다. 그룹에 대응하는 색인 값이 비어 있으면 None으로 돌아가고, 비어 있지 않으면 이 그룹의 키를 제거하고 수열 값을 계산한다. 같으면 찾았고, 같지 않으면 항좌평이 세 개를 계속해서 비교한다.
    요약:
  • 키는
  • 으로 해싱해야 합니다.
  • 사전이 메모리에
  • 많이 소모됨
  • 키 조회 속도가 매우 빠르다
  • 사전을 두루 훑어보지 말고
  • 컬렉션


    집합은 원소가 변할 수 있고 원소는 중복될 수 없으며 집합의 밑바닥 구조는 사전과 같고 사전의 키 대상만 포함한다

    컬렉션 생성 및 삭제

  • 은 {} 집합 대상을 만들고dd() 방법으로 원소
  • 을 추가합니다
  • 은 set()로 목록, 원조를 집합
  • 으로 변환
  • 은remove()로 지정한 요소를 삭제하고,clear()로 전체 집합
  • 을 비웁니다.

    컬렉션 관련 작업


    집합은 교집합(a&b), 병집합(a|b), 차집합(a-b)을 사용하여 새로운 집합을 얻을 수 있다

    제어문:


    선택 구조: 선택 구조는 단분지 구조, 이분지 구조, 다분지 구조로 나뉜다
    단분지 구조: 보통if문장이고 조건표현식은 논리, 산술과 관계일 수 있다.문장 블록 들여쓰기 주의
    조건 표현식의 값이 False인 경우는 몇 가지가 있습니다: False, 0, 빈 시퀀스, 빈 교체, 빈 range 대상은 상기 상황을 제외하고는 모두 True입니다
    그 외 조건 표현식에 값 부여 조작이 있을 수 없습니다
    이분지 구조:if,else 문장을 채택한다.
    삼원 조건 연산자: 조건이 진짜 값인 if(조건 표현식)else 조건이 가짜 값인 Print's 미만 10'if int(s) <10 else's 미만 10'
    다중 분기 선택 구조: 여러 조건 표현식으로 구성되어 있으며 표현식 사이에 논리적 관계가 있어야 한다.elif=else if
    평면 사분점 중점의 위치 코드를 테스트합니다.
    #          
    x= int(input("       :"))
    y= int(input("       :"))
    
    if(x==0 and y==0):
        print("        ")
    elif (x==0):
        print("    x  ")
    elif(y==0):
        print("    y  ")
    elif(x>0 and y>0):
        print("        ")
    elif(x>0 and y<0):
        print("        ")
    elif(x<0 and y<0):
        print("        ")
    else:
        print("        ")
    

    선택 구조의 삽입: 하나의 선택 구조에 선택 구조를 추가하려면 축진량을 주의하여 서로 다른 선택 구조를 구별해야 한다.
    #      
    
    score=int(input("     0-100   :"))
    num=0
    degree="ABCDE"
    if score>100 or score<0:
        score = int(input("     0-100   :"))
    else:
        num=score//10
        if num<6:
            num=5
    print("   {0},   {1}".format(score,degree[9-num]))

    while 순환 구조: 순환체에서 조건 표현식을 바꿔야 하는 문장
    #  1-100         
    num=0
    sum=0
    while num<=100:
        sum=sum+num
        num+=1
    print("1-100       :",sum)

    좋은 웹페이지 즐겨찾기