有没有办法在字符串列表 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
作为结果,其中期望输出应该是 3
和 5
。
我没看到什么?
正如其他人所建议的,不要使用 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.
这可能不是您想要的。
我有一个列表,其中包含表示计算的字符串值。我想从他们那里得到一个特定的字符,比如加号和减号。
我尝试按照此处的建议使用 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
作为结果,其中期望输出应该是 3
和 5
。
我没看到什么?
正如其他人所建议的,不要使用 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.
这可能不是您想要的。