有没有办法在字符串列表 python 中找到特定字符?

Is there a way to find specific character in string list python?

我有一个列表,其中包含表示计算的字符串值。我想从他们那里得到一个特定的字符,比如加号和减号。

我尝试按照此处的建议使用 var1.find('a') != -1 or var.find('z') != -1 Python: Using AND and OR with .FIND() method,但是当我尝试“-”时我仍然得到 -1。

示例:

lists = ["22 + 13", "4500 - 2"]
for list in lists :
  if (list.find('+') or (list.find('-')) != -1) :
    signpos =  list.find("+") or list.find("-")
    print(signpos)
  else:
    print('Error')

我得到 3 a 和 -1 作为结果,其中期望输出应该是 35

我没看到什么?

正如其他人所建议的,不要使用 list 作为变量名。是一种类型。

lists = ["22 + 13", "4500 - 2"]
for string in lists:
  signPos = None

  if "+" in string:
    signPos = string.find("+")
  elif "-" in string:
    signPos = string.find("-")
  else:
    print('Error')
    
  print(signPos)

# Output
# 3
# 5
signpos =  list.find("+") or list.find("-")

如果字符串没有加号,第一个 find() 调用将 return -1 这是一个 non-false 值,所以第二个 find() 将不会被执行,signpos 会被赋值-1.

这可能不是您想要的。