当字符串只是列表项的一部分时,如何查找列表中出现的所有字符串

2024-04-20 12:57:53 发布

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

使用Python,我看不到在目标字符串是列表项的组件(或部分)的列表中查找实例的方法。我正在查找列表中所有项目中的任何“伏特”实例,无论伏特是完整的列表项目还是列表项目以某种方式包含伏特。列表项可以以伏特来开始或结束,甚至在项目中间包含Vults,例如VoTutOutt、LooDoLts、AlvutsSt设置。p>

代码:

data = [ 'Model', 'Name', 'Trans', 'Rx','OnPropertyChanged', 
 'OnPropertyChangedAll', 'OtfMonitorEnabled', 'Overloads', 'PaletteBlackValue', 
 'PaletteSizeFeature', 'PaletteSizeMax', 'PaletteValues', 'PaletteValuesArray', 
 'PowerControlFeature', 'TransVolts','RecVolts', 'PropertyChanged', 'ReferenceEquals', 'Volts']

indices = [i for i, x in enumerate(data) if x == "Volts"]
print(indices)

期望的结果:

I want it to show indices = [14,15,18]

2条回答

如果这更容易理解,你也可以尝试一下

data = [ 'Model', 'Name', 'Trans', 'Rx','OnPropertyChanged',
 'OnPropertyChangedAll', 'OtfMonitorEnabled', 'Overloads', 'PaletteBlackValue',
 'PaletteSizeFeature', 'PaletteSizeMax', 'PaletteValues', 'PaletteValuesArray',
 'PowerControlFeature', 'TransVolts','RecVolts', 'PropertyChanged', 'ReferenceEquals', 'Volts']

for i in enumerate(data):
    if 'Volts' in i[1] or 'volts' in i[1]:
        print(i[0])

你非常接近

只需使用in关键字检查给定字符串(例如“volts”)是否包含在另一个字符串中:

data = [ 'Model', 'Name', 'Trans', 'Rx','OnPropertyChanged',
 'OnPropertyChangedAll', 'OtfMonitorEnabled', 'Overloads', 'PaletteBlackValue',
 'PaletteSizeFeature', 'PaletteSizeMax', 'PaletteValues', 'PaletteValuesArray',
 'PowerControlFeature', 'TransVolts','RecVolts', 'PropertyChanged', 'ReferenceEquals', 'Volts']

indices = [i for i, x in enumerate(data) if "Volts" in x]
print(indices)

相关问题 更多 >