Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在包含相同前缀和后缀的字符串列表中获取特定字符串_Python - Fatal编程技术网

Python 在包含相同前缀和后缀的字符串列表中获取特定字符串

Python 在包含相同前缀和后缀的字符串列表中获取特定字符串,python,Python,我有一个字符串列表,所有字符串都以相同的前缀开始,然后是唯一的数字,然后是后缀。我想要不包含任何后缀的字符串 我尝试过按字符串长度过滤,但它很混乱。此外,我不能在x中包含“and not_direct”,因为每次运行该程序时,后缀都会不同。它并不总是特别“直接” list=[''光照grp1、光照grp1、光照grp2、光照grp2直接] 对于列表中的x: 如果x中有“\uuuu light\u grp”: 打印x 我期待的是: “\uuuu灯\uGRP1,\uuuuu灯\uGRP2” 我得到

我有一个字符串列表,所有字符串都以相同的前缀开始,然后是唯一的数字,然后是后缀。我想要不包含任何后缀的字符串

我尝试过按字符串长度过滤,但它很混乱。此外,我不能在x中包含“and not_direct”,因为每次运行该程序时,后缀都会不同。它并不总是特别“直接”

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后缀的组