【问题标题】:List index find by given string按给定字符串列出索引查找
【发布时间】:2020-06-09 15:47:40
【问题描述】:

我有一个列表,我有一个给定的字符串。该列表如下所示:

["hello, whats up?", "my name is...", "goodbye"]

我想在给定字符串所在的列表中查找索引,例如:

  • 如果给定的字符串是“whats”,我希望它返回 0
  • 如果给定的字符串是“name”,它将返回 1

我尝试使用list_name.index(given_string),但它显示“whats”不在列表中。

【问题讨论】:

标签: python list


【解决方案1】:

这是因为whats 并没有真正出现在列表中。该列表实际上有"hello, whats up?"。因此,如果您将 given_string 的值设置为 -given_string = "hello, whats up?",那么您将获得 0 作为索引。 index 方法只是比较值,在这种情况下是整个字符串。它不检查字符串中的值。

编辑 1: 我会这样做:

list = ["hello, whats up?", "my name is...", "goodbye"]
for index, string in enumerate(list):
     if 'whats' in string:
             print index

【讨论】:

    【解决方案2】:

    您可以执行以下操作:

    l = ["hello, whats up?", "my name is...", "goodbye"]
    sub_s = "name"
    indx = [i for i, s in enumerate(l) if sub_s in s]
    print(indx) # [1]
    

    这在您有超过 1 个索引的情况下更加健壮

    【讨论】:

      猜你喜欢
      • 2017-11-12
      • 2011-07-05
      • 1970-01-01
      • 2018-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-10
      • 1970-01-01
      相关资源
      最近更新 更多