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

  • List comprehension

    Python-ում զանգվածներ ստեղծելը շատ հեշտ է։ Կարելի է օգտագործել [0] * 50՝ 0-ներով լցված 50 տարրերից բաղկացած զանգված ստեղծելու համար: Մեկ այլ եղանակ, որի միջոցով ավելի լավ կարող ենք կառավարել ամեն էլեմենտի արժեքը, for-ի միջոցով իտերացիան է և տարրերը մեկ առ մեկ ավելացնելը: Կա ևս մեկ տարբերակ list comprehension-ի միջոցով: Եթե ցանկանում ենք ստեղծել քառակուսիների զանգված 1...100 թվերի համար, կարող ենք դա անել հետևյալով կերպ.
    squares = []
    for n in range(1, 100):
    	squares.append(n * n)
    print(squares)
    squares = [n * n for n in range(1, 100)]
    print(squares)
    Այս երկու ծրագրերը կտպեն նույն արդյունքը և կստեղծեն քառակուսիների նույն զանգվածը. [1, 4, 9, 16, 25, 36, 49, 64, 81, ..., 9216, 9409, 9604, 9801]։
    Այսպիսով, list comprehension-ի գրելածևը.
    1. Սկսվում է բացվող փակագծով [ և վերջանում փակողով՝ ]
    1. for ցիկլը անցնում է արժեքների վրայով
    1. Զանգվածի տարրերը գրվում են for բառից առաջ և կարող են ընդունել տարբեր արժեքներ կախված for ցիկլի փոփոխականից (այս օրինակում թվի քառակուսին):
    Ծննդյան օրվա հրավերներ ուղարկելու համար, պատկերացրեք, դուք ստեղծել եք անունների ցուցակ, որոնց մենք կցանկանայինք հրավիրել, բայց բոլորը պատահաբար փոքրատառ ենք գրվել։ Այժմ մենք կարող ենք օգտագործել list comprehension՝ դա շտկելու համար.
    invites = [
    	'anna', 
    	'alice', 
    	'bob', 
    	'simon', 
    	'thomas'
    ]
    fixed = []
    for name in invites:
    	fixed.append(name.title())
    print(fixed)
    invites = [
    	'anna', 
    	'alice', 
    	'bob', 
    	'simon', 
    	'thomas'
    ]
    fixed = [name.title() for name in invites]
    print(fixed)
    Այս երկու ծրագրերն էլ տպելու են` ['Anna', 'Alice', 'Bob', 'Simon', 'Thomas']։

    Առաջադրանք

    Տրված են n անուններ ու ազգանուններ։ Ձեզ խնդրում են հանել անունները և տպել թե՛ սկզբնական ցուցակը, թե՛ միայն անունները:
    Մուտքի առաջին տողը պարունակում է մեկ ամբողջ թիվ՝ n-ը: Հաջորդ n տողերը պարունակում են անուն ազգանուն զույգեր:
    Ծրագիրը պետք է նախ տպի սկզբնական ցուցակը, իսկ հետո միայն անուններով ցանկը:
    Մուտք
    Ելք
    3 Marshall Mathers Peter Hernandez Curtis Jackson
    Marshall Mathers Peter Hernandez Curtis Jackson Marshall Peter Curtis
    Հուշում
    Դուք կարող եք օգտագործել .split()[0], տողը բացատով բաժանելուց հետո առաջին տարրը ստանալու համար:
     
    Դուք նույնիսկ կարող եք տպել list comprehension-ի միջոցով:
    l = ['hi', 'my', 'name', 'is']
    [print(item) for item in l]
     
    hi
    my
    name
    is
     
    To check your solution you need to sign in
    Sign in to continue