[英]Python : Check if string matches a substring in a list, return index of a substring
我需要检测字符串是否与列表中包含的 substring 匹配,并获取匹配的 substring 的索引以将值分配给变量。 这是代码:
filename = "rec_1.2_LUNCHPLAY_20220616_1645.mp4"
year = '2022'
studio = ['arena', '-1.2', '1.2', '1.3', '1.4', '1.5', '1.8', '1.9', '2bis']
month = [f'{year}01', f'{year}02', f'{year}03', f'{year}04', f'{year}05', f'{year}06']
我期待 output 是[2]
和[5]
。
有人可以帮助我吗?
使用enumerate()
遍历列表中的项目并跟踪当前项目的 position。
for position, substring in enumerate(substrings):
if substring in message:
print(position)
break
但是,即使您不了解enumerate
,还有另一个使用range()
的简单解决方案:
for position in range(len(substrings)):
if substrings[position] in message:
print(position)
break
filename = "rec_1.2_LUNCHPLAY_20220616_1645.mp4"
year = '2022'
studio = ['arena', '_1.2', '1.2', '1.3', '1.4', '1.5', '1.8', '1.9', '2bis']
month = [f'{year}01', f'{year}02', f'{year}03', f'{year}04', f'{year}05', f'{year}06']
studio_index = None
month_index = None
for idx, st_match in enumerate(studio):
if st_match in filename:
studio_index = idx
break
for idx, mo_match in enumerate(month):
if mo_match in filename:
month_index = idx
break
print(f'studio index: {studio_index}')
print(f'month index: {month_index}')
结果:
studio index: 2
month index: 5
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.