value = ["python:guru-age20",
         "is_it_possible_time100:goodTime99",
         "hmm_hope_no_onecanansswer"]

如何从字符串列表中获取特定字符串?我需要从goodTime99字符串中找到li[1]及其确切位置
if value.find("goodTime99") != -1:我知道如果我给整个字符串is_it_possible_time100:goodTime99就行了。
否则,如何通过搜索goodTime99而不是搜索is_it_possible_time100:goodTime99来精确定位?value.index("goodTime99")出错。
我不想搜索整个字符串,value.index("is_it_possible_time100:goodTime99")很好,但我不想这样。无论如何要这么做?

最佳答案

如果只想检查列表中任何字符串中是否存在"goodTime99",可以尝试:

value = ["python:guru-age20", "is_it_possible_time100:goodTime99","hmm_hope_no_onecanansswer"]
if any("goodTime99" in s for s in value):
    # found it

如果您需要准确的位置:
>>> next((i for i, s in enumerate(value) if "goodTime991" in s), -1)
1

或:
def find_first_substring(lst, substring):
    return next((i for i, s in enumerate(lst) if substring in s), -1)

>>> find_first_substring(value, "goodTime99")
1

关于python - 如何在列表中搜索或找到特定的子字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12970204/

10-09 07:51