fb pixel

Python-ի ներածություն

  • Profound Academy

    • Status
      • 1
        Մուտք և Ելք
      • 2
        Փոփոխականներ և ամբողջ թվեր
      • 3
        Պայմաններ
      • 4
        Ներդրված պայմաններ
      • 5
        Փոփոխականներ և տիպեր
      • 6
        Տողեր
      • 7
        Զանգվածներ
      • 8
        For ցիկլեր
      • 9
        While ցիկլեր
      • 10
        continue, break, while...else
      • 11
        Տողերի և զանգվածների հետ աշխատանք
      • 12
        Ներդրված ցիկլեր
      • 13
        List Comprehension
      • 14
        Tuple-ներ և Set-եր
      • 15
        dict
      • 16
        Ֆունկցիաներ
      • 17
        Ֆունկցիաներ 2
      • 18
        Lambda and higher-order functions
      • 19
        Files

  • defaultdict

    Python-ն ունի տվյալների կառուցվածքների շատ օգտակար հավաքածու իր մոդուլներից մեկում, որը կոչվում է collections: Այդ տվյալների կառուցվածքներից մեկը լռելյայն (default) արժեքով բառարանն է՝ defaultdict:
    defaultdict ստեղծելիս մենք կարող ենք փոխանցել lambda ֆունկցիա, որը կվերադարձնի լռելյայն արժեք բացակայող տարրերի համար.
    d = defaultdict(lambda: 'This item does not exist')
    d['Anna'] = 10
    d['Bob'] = 9
    
    print(d['Bob'])  # 9
    print(d[999])    # This item does not exist
    Այստեղ Anna-ն և Bob-ը ավելացված են բառարանում, բայց 999-ը չկա, ուստի ծրագիրը տպում է This item does not exist.
    Սա հատկապես օգտակար է, երբ գործ ունենք զանգվածների հետ որպես արժեքներ.
    grades = defaultdict(lambda: [])
    grades['Anna'].append(10)
    grades['Anna'].append(9)
    grades['Bob'].append(8)
    grades['Bob'].append(9)
    
    print(grades['Bob'])  # [8, 9]
    print(grades[999])    # []

    Առաջադրանք

    Տրված են ֆուտբոլային թիմերի և նրանց հակառակորդների n հանդիպումները, ձեզ խնդրում են պարզել յուրաքանչյուր թիմի անցկացրած խաղերի քանակը:
    Մուտքի առաջին տողը պարունակում է մեկ ամբողջ թիվ n - խաղերի քանակը: Հաջորդ n տողերը պարունակում են գծիկով (-) առանձնացված թիմերի անուններ, որոնք խաղում էին միմյանց դեմ: Հաջորդ տողը պարունակում է ստորակետերով բաժանված (,) այն ակումբների անունները, որոնց համար ծրագիրը պետք է տպի անցկացրած խաղերի քանակը:
    Ծրագիրը պետք է տպի մուտքի վերջին տողում պահանջվող թիմերից յուրաքանչյուրի համար անցկացված խաղերի քանակները:
    Մուտք
    Ելք
    3 Real Madrid-Barcelona Chelsea-Manchester United Arsenal-Barcelona Manchester United,Barcelona,Roma
    1 2 0
     
    To check your solution you need to sign in
    Sign in to continue