首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从另外两个列表派生一个新的列表列表,其中如果L1中的元素不在L2中,则附加这些元素

从另外两个列表派生一个新的列表列表,其中如果L1中的元素不在L2中,则附加这些元素
EN

Stack Overflow用户
提问于 2018-12-13 06:16:52
回答 3查看 216关注 0票数 1

因此,我一直在研究即将到来的测试,在练习时我发现了这个脚本;它应该返回一个新的列表列表,其中包含来自L1的列表,这些列表不包含来自L2的任何字符串

我所做的是将L2中的每个元素与L1中的元素进行比较,并将它们添加到listas中,而不会有任何重复。我被卡住的部分是在我的循环结束运行后,我得到了一个列表列表,但没有任何实际的比较。我曾尝试使用第二个列表,但如果使用len(L2) > 2,它就不会工作,也不能使用.remove(),但有时要删除的元素还不在列表中,我会得到一些错误。

代码语言:javascript
复制
from typing import List
def non_intersecting(L1: List[List[str]], L2: List[str]) -> List[List[str]]:    
"""Return a new list that contains the original lists inside L1 that do not
contain any of the string in L2

>>> non_intersecting([['e', 'h', 'c', 'w'], ['p', 'j'], ['w', 's', 'u']], ['k', 'w'])
[['p', 'j']]
"""

listas = []

if len(L2) == 0:
    return L1
elif len(L2) > 0:
    for index in range(len(L2)):
        for lists in L1:
            if lists not in listas:
                if L2[index] not in lists:
                    listas.append(lists)

return listas

有什么帮助吗?这将是伟大的,没有任何模块或ziplambdas,因为我不希望提交这一点,而是了解我的测试前的基础知识。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53752223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档