Python 在包含相同前缀和后缀的字符串列表中获取特定字符串
我有一个字符串列表,所有字符串都以相同的前缀开始,然后是唯一的数字,然后是后缀。我想要不包含任何后缀的字符串 我尝试过按字符串长度过滤,但它很混乱。此外,我不能在x中包含“and not_direct”,因为每次运行该程序时,后缀都会不同。它并不总是特别“直接”Python 在包含相同前缀和后缀的字符串列表中获取特定字符串,python,Python,我有一个字符串列表,所有字符串都以相同的前缀开始,然后是唯一的数字,然后是后缀。我想要不包含任何后缀的字符串 我尝试过按字符串长度过滤,但它很混乱。此外,我不能在x中包含“and not_direct”,因为每次运行该程序时,后缀都会不同。它并不总是特别“直接” list=[''光照grp1、光照grp1、光照grp2、光照grp2直接] 对于列表中的x: 如果x中有“\uuuu light\u grp”: 打印x 我期待的是: “\uuuu灯\uGRP1,\uuuuu灯\uGRP2” 我得到
list=[''光照grp1、光照grp1、光照grp2、光照grp2直接]
对于列表中的x:
如果x中有“\uuuu light\u grp”:
打印x
我期待的是:
“\uuuu灯\uGRP1,\uuuuu灯\uGRP2”
我得到的是:
“\uuuu light\u grp1,\uuuu light\u grp1\u direct,\uuuu light\u grp2,\uuuuu light\u grp2\u direct”我会选择以下内容:
list1 = ['__light_grp1', '__light_grp1_direct', '__light_grp2', '__light_grp2_direct']
list2=[]
for i in list1:
if i[-1:].isdigit():
list2.append(i)
基本上,我们在这里要做的是检查列表中的每个项目,如果它的最后一个元素是number,因为前缀总是相同的,所以您可以利用它。基本上,你知道带后缀的单词总是以一个额外的下划线开头 所以你可以这样做:
prefix = "__light_grp"
ref = len(prefix.split("_"))
for x in lst:
if (len(x.split("_"))) == ref:
print(x)
正确格式化代码检查
字符串
方法startswith()
和endswith()
。是否删除所有不包含_directas后缀的组