Python在列表中查找元素并返回true或false

2024-09-28 21:24:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在研究字符串列表中的元素。 我获取一个带有数字(字符串)的文本,并尝试查找像“+”或“-”这样的符号 我的代码:

 Lista=np.array([s for s in text]) 
 y=np.where(Lista=='+') 
 if y==[]: /*so, if it's void*/
        print("any elements")
  else:
        print("yes")

我尝试这样做,因为我想创建一个计算器,现在我只需要做+运算(在代码的第二部分中,我使用split(“+”)并将字符串转换为int)。 所以我想用if,else,elif创建一个类似于switch case的结构。类似于:if(+')->;执行此操作,否则('-')->;执行此操作,ecc。 显然,我想创建4y=np.where(lista='+'/='-'/=''),并为每个人创建if-else。所以如果在口渴的情况下我没有找到“+”:通过。如果在第二种情况下,我没有找到“-”:通过。如果在第三种情况下我发现“”:执行moltiplicto。这是我试图用y=[]或y做的事情=[]. 当我打印y=np.where(lista='+')的结果时,我看到它返回array[1]或array[],但是如果我尝试将其作为一个条件,它就不起作用了

例如。我在计算器里写了4+5。4+5它保存在一个名为text的变量中。我将变量文本转换为Lista=np.array([s表示文本中的s])。 在我尝试在Lista中搜索y=np的符号“+”,其中(Lista=='+')。在控制台中,我看到它位于第一个位置,所以在数组[1]中。如果条件是这样的

    if y==[]: 
       print("the list it's void") 
       pass
    else: print("the elemnt it's at firt position")
    Lista=np.array([s for s in text.split('+')])
    v=[int(v) for v in Lista]
    c=sum(v)
    print(c)

但是,当我写4+5时,条件为y=[]时,列表是空的,但它不是真的,因为在arrayIndex中,我看到在位置y[1]中有一个“+”

Java代码中的示例。我想要Python版本的 公共类主{

    public static void main(String[] args) {
        boolean findSymbol=true;

        char [] p = {31, 28, 31, 30, 31, 30, 31, '-'};
        for (char c : p) {
            if (c == '+') {
                findSymbol= true;
                System.out.println("let's do something");
            } else
                findSymbol = false;
            System.out.println("Nope");

            if (c == '-') {
                findSymbol=true;
                System.out.println("let's do something");
                
            }else
                findSymbol = false;
            System.out.println("Nope");

            }
        }

}

Tags: 字符串代码in文本forifnpout
1条回答
网友
1楼 · 发布于 2024-09-28 21:24:07

Python3.10有一个match语句,它是switch的Python版本。 不管怎样,正如您所说,您可以通过if ... elif ... else得到相同的结果:

if s=='+':
    ##handle addition
elif s=='-':
    ##handle subtraction
elif s=='*':
    ##handle multiplication
##etc
else:
    ##did not match any previous check, raise exception or something

相关问题 更多 >