Python one-line “for” expression

后端 未结 6 954
独厮守ぢ
独厮守ぢ 2020-12-08 03:55

I\'m not sure if I need a lambda, or something else. But still, I need the following:

I have an array = [1,2,3,4,5]. I need to put this array, for insta

相关标签:
6条回答
  • 2020-12-08 04:32

    Even array2.extend(array1) will work.

    0 讨论(0)
  • 2020-12-08 04:44

    Using elements from the list 'A' create a new list 'B' with elements, which are less than 10

    Option 1:

    A = [1, 1, 2, 3, 5, 8, 13, 4, 21, 34, 9, 55, 89]
    
    B = []
    for i in range(len(A)):
        if A[i] < 10:
            B.append(A[i])
    print(B)
    

    Option 2:

    A = [1, 1, 2, 3, 5, 8, 13, 4, 21, 34, 9, 55, 89]
    
    B = [A[i] for i in range(len(A)) if A[i] < 10]
    print(B)
    

    Result: [1, 1, 2, 3, 5, 8, 4, 9]

    0 讨论(0)
  • 2020-12-08 04:46

    If you're trying to copy the array:

    array2 = array[:]
    
    0 讨论(0)
  • 2020-12-08 04:51

    If you really only need to add the items in one array to another, the '+' operator is already overloaded to do that, incidentally:

    a1 = [1,2,3,4,5]
    a2 = [6,7,8,9]
    a1 + a2
    --> [1, 2, 3, 4, 5, 6, 7, 8, 9]
    
    0 讨论(0)
  • 2020-12-08 04:52
    for item in array: array2.append (item)
    

    Or, in this case:

    array2 += array
    
    0 讨论(0)
  • 2020-12-08 04:56

    The keyword you're looking for is list comprehensions:

    >>> x = [1, 2, 3, 4, 5]
    >>> y = [2*a for a in x if a % 2 == 1]
    >>> print(y)
    [2, 6, 10]
    
    0 讨论(0)
提交回复
热议问题