簡體   English   中英

如何使用具有附加條件的 numpy 數組打印偶數字母表

[英]how to print even alphabet using numpy arrays with additional condition

import numpy as np

    a=[1,2,3,4,5,6,7,8,9,10,11,12]
    a=np.array(a)
    b=['a','b','c','d','e','f','g','h','i','j','k','l']
    b=np.array(b)
    # conversion of both list to array
    # want to print even alphabets except 'b'
    print(b[a%2==0 and a!=2])

有什么問題and條件並告訴我如何糾正它? 另外我想知道只打印替代的偶數字母 - ('d','h','l')

您的代碼中的主要問題是:

b[a%2==0 and a!=2]

這會引發ValueError

ValueError:包含多個元素的數組的真值不明確。 使用 a.any() 或 a.all()

並且一般沒有意義(您正在嘗試訪問某種b[True]並應用於數組上的模數( % )運算符......)。
我認為您要做的是在a打印所有偶數,您可以這樣做:

[a[index] for index, x in enumerate(a) if a[index] % 2 == 0]

編輯:也許我誤讀了這個問題,因為它非常不清楚,但我認為你想要的是打印b每個第 4 個元素,除了index = 1 中的實際元素b

>>> [b[i-1] for i in a if i % 4 == 0 and i != 1]
['d', 'h', 'l']

將 numpy 導入為 np

a=[1,2,3,4,5,6,7,8,9,10,11,12]

a=np.array(a)

b=['a','b','c','d','e','f','g','h','i','j','k','l' ]

b=np.array(b)

打印 (list(b[i-1] for i in a if i%4==0 and i!=1))

import string
np.array([*string.ascii_lowercase])[np.arange(26)%2 == 0]

返回:

array(['a', 'c', 'e', 'g', 'i', 'k', 'm', 'o', 'q', 's', 'u', 'w', 'y'],
  dtype='<U1')

您可以使用以下內容替換 AND 條件以使用偶數數字打印字母:

print(b[(a%2==0) & (a!=2)])

也用於打印交替的偶數字母 ('d','h','I')

我不會寫代碼,但邏輯實現很簡單:

打印 b(索引 a%4==0)

還要忽略打印 'd' :

打印 b(索引 a%4==0 & 索引 a!=4)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM