在其他字符串列表中查找一个字符串

2024-09-23 04:23:58 发布

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

我正在尝试从原始列表创建一个新列表,但遇到了一些困难。你知道吗

列表如下list1 = [training, bicycle, working, carrying, bite, eat]

我的名为ing的新列表设计为只对其中包含ing的单词进行排序,因此新列表应该如下[training, working, carrying]

代码如下所示

def ing(lists):
     b = "ing"
     for d in lists:
        if b in d:
            print(d)

        else:
           continue




    return (lists)

在使用list1运行时,它几乎打印出list1,而不是孤立包含ing的单词。
问题区域似乎是直线

          if b in d:

有没有更好的方法来写一个列表,根据列表中的单词来整理列表,因为这似乎是唯一的方法


Tags: 方法in列表if排序training单词lists
3条回答

试试这个(与你的代码相似的新方法)

    def ing(l):
        new=[]
        b="ing"
        for d in l:
            if b in d:
                new.append(d)#I am adding the wording ending with 'ing' to a new list
    #you were missing appending
        print(new)

    l= ['training','bicycle','working','carrying','bite','eat']
    ing(l)#calling_function

你缺少的是你给出的列表不是由字符串组成的。要将它们放入字符串中,请使用“”或“”,正如我在上面所做的那样。你知道吗

另外,当您使用return时,应该有一些东西来保存特定的return。你没有用这种东西。你知道吗

如有任何疑问,请随时通过评论提问。很乐意帮忙。你知道吗

你永远不会列新的清单,只会打印东西

试试这个

list1 = ["training" , "bicycle", "working", "carrying", "bite" , "eat"]
ing = [x for x in list1 if "ing" in x]
print(ing)

或者如果你坚持要有一个功能

def filter_ing(l);
    return [x for x in l if "ing" in x]

如果你想做一个方法调用-只要让你的方法返回一个新的列表,其中旧列表的元素满足搜索条件。你知道吗

比如:

def ing(lists):
    b = "ing"
    new_list = []
    for d in lists:
        if b in d:
            print(d)
            new_list.append(d)

         else:
             continue



     return new_list

list1 = ['training', 'bicycle', 'working', 'carrying', 'bite', 'eat']
new_list = ing(list1)
print new_list

以上代码的列表输出为:

['training', 'working', 'carrying']

做一个列表理解工作以及显示@cricket\u007

相关问题 更多 >