请问这几行代码该怎么改呢?

具体问题:
list1现在是[['marina', 'langlois'], ['freyA', 'yawns']],怎么改成['marina', 'langlois','freyA', 'yawns']呢?


def special_endings(strings):
    """
    A function that returns a number of words ending with
    'a' or 's'
    ---
    Parameters:
    strings: list of stringss
    ---
    Return a count

    >>> special_endings(["marina langlois", "freyA yawns"])
    4
    >>> special_endings(["many people", "like dogs??"])
    1
    >>> special_endings(["roses", "are", "green"])
    1
    >>> special_endings(["aaaassss", "ssss?-?aaaa", "aay sst"])
    3
    """
    # YOUR CODE GOES HERE #
    result=0
    list1=[]
    list2=[]
    for i in strings:
        x=i.split()
        list1.append(x)
    for e in list1:
        for p in e:
            if p.isalpha()==True:
                list2.append(p)
                for k in list2:
                    if k[-1]=="a" or k[-1]=="s" or k[-1]=="A" or k[-1]=="S":
                        result+=1
                
    return result

special_endings(["marina langlois", "freyA yawns"])

1、再加多一层循环就可以了

img

2、代码如下

def special_endings(strings):

    result=0
    list1=[]
    list2=[]
    for i in strings:
        x=i.split()
        for c in x:
            list1.append(c)
    for e in list1:
        for p in e:
            if p.isalpha()==True:
                list2.append(p)
                for k in list2:
                    if k[-1]=="a" or k[-1]=="s" or k[-1]=="A" or k[-1]=="S":
                        result+=1
    
    print(list1)
    return result
 
result=special_endings(["marina langlois", "freyA yawns"])
print(result)

用迭代器读出来再存进去🌝

学习一下python的list相关知识

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632