相关疑难解决方法(0)

如何检查列表中是否包含以下所有项目?

我发现,有一个相关的问题,关于如何查找列表中是否存在至少一个项目:
如何检查下列项目之一是否在列表中?

但是,查找列表中是否存在所有项目的最佳和pythonic方法是什么?

通过文档搜索,我找到了这个解决方案:

>>> l = ['a', 'b', 'c']
>>> set(['a', 'b']) <= set(l)
True
>>> set(['a', 'x']) <= set(l)
False
Run Code Online (Sandbox Code Playgroud)

其他解决方案是:

>>> l = ['a', 'b', 'c']
>>> all(x in l for x in ['a', 'b'])
True
>>> all(x in l for x in ['a', 'x'])
False
Run Code Online (Sandbox Code Playgroud)

但在这里你必须做更多的打字.

还有其他解决方案吗?

python list inclusion

97
推荐指数
4
解决办法
11万
查看次数

Python:看看一个集合是否完全包含另一个集合?

有没有快速的方法来检查一个集合是否完全包含另一个集合?

就像是:

>>>[1, 2, 3].containsAll([2, 1])
True

>>>[1, 2, 3].containsAll([3, 5, 9])
False
Run Code Online (Sandbox Code Playgroud)

python set

71
推荐指数
5
解决办法
4万
查看次数

有效删除元组列表中的部分重复项

我有一个元组列表,列表的长度可以在 ~8 - 1000 之间变化,具体取决于元组的长度。列表中的每个元组都是唯一的。元组的长度为 N,其中每个条目都是一个通用词。

一个示例元组的长度可以是 N (Word 1, Word 2, Word 3, ..., Word N)

对于列表中的任何元组,所述元组中的元素 j 将是''Word j

一个非常简单的带有字母的例子是

l = [('A', 'B', '', ''), ('A', 'B', 'C', ''), 
     ('', '', '', 'D'), ('A', '', '', 'D'), 
     ('', 'B', '', '')]
Run Code Online (Sandbox Code Playgroud)

每个元组的每个位置要么具有相同的值,要么为空。我想删除所有''在同一位置的另一个元组中具有所有非值的元组。例如,(A,B,'','')包含所有非''值,(A,B,C,'')因此应删除。

filtered_l = [(A,B,C,''),(A,'','',D)]
Run Code Online (Sandbox Code Playgroud)

元组的长度总是相同的(不一定是 4)。元组的长度将在 2-10 之间。

执行此操作的最快方法是什么?

python performance tuples list

9
推荐指数
2
解决办法
543
查看次数

python中if语句的缩写方式

l = ["a", "b", "c", "d", "e"]
if "a" in l and "b" in l and "c" in l and "d" in l:
   pass
Run Code Online (Sandbox Code Playgroud)

写这个if语句的简短方法是什么?

尝试:

if ("a" and "b" and "c" and "d") in l:
    pass
Run Code Online (Sandbox Code Playgroud)

但这似乎是不正确的.什么是正确的方法?Python 3

python if-statement

6
推荐指数
3
解决办法
201
查看次数

如何确定一个列表是否包含另一个列表?

是否有内置的Pythonic方法来确定一个列表是否完全包含另一个列表的内容,包括重复的条目但忽略了项目的顺序?

>>> l1 = [2, 2, 3]
>>> l2 = [2, 2]
>>> l3 = [3, 2]
>>> l4 = [2, 2, 2]
>>> l5 = [2, 5, 2]

>>> is_superset(l1, l2)
True
>>> is_superset(l1, l3)
True
>>> is_superset(l1, l4)
False
>>> is_superset(l1, l5)
False
Run Code Online (Sandbox Code Playgroud)

python list

5
推荐指数
1
解决办法
276
查看次数

检查一个字符串的字母是否在另一字符串中

好吧,基本上我必须检查一个字符串是否与另一个字符串具有相同的字母。这两个字符串都是通过input()获得的。

我不想再次检查某个字母是否在另一个字符串中,因此如果我已经检查了该字母,我想跳到下一个字母。

我现在的代码是这样的:

str1, str2 = list(input()), list(input()) 

if len(str1) > len(str2):
    str = str1
else: 
    str = str2

for x in str:
    c = 0
    if x in str2:
        c += 1
if c != 0:
    print("Both have the same letters!") 
else: 
    print("Nope there are some letters missing..")
Run Code Online (Sandbox Code Playgroud)

我不知道我是否应该使用列表而不是使用计数器..请详细解释解决方案或一些高质量的指导将非常感激!<3

python algorithm python-3.x

4
推荐指数
1
解决办法
7359
查看次数

检查列表列表的所有元素是否在另一个列表列表中 Python

我的问题是,如何检查列表列表的所有元素是否都在另一个列表列表中?或者用更好的措辞,您如何检查一个列表列表是否是另一个列表列表的子集?下面发布的答案仅在您有一个字符串列表时才有效,但该答案不适用于我的情况。

如何检查列表中的所有项目是否都在另一个列表中?

我尝试过的事情是这样的:

if all(item in list1 for item in list2): 
Run Code Online (Sandbox Code Playgroud)

这不起作用。

python list

1
推荐指数
1
解决办法
1702
查看次数