相关疑难解决方法(0)

是否有列表的短包含功能?

我看到人们正在使用any收集另一个列表来查看列表中是否存在某个项目,但是有一个快速的方法可以做到吗?:

if list.contains(myItem):
    # do something
Run Code Online (Sandbox Code Playgroud)

python collections search contains list

473
推荐指数
4
解决办法
58万
查看次数

检查项目是否在数组/列表中

如果我有一个字符串数组,我可以检查一个字符串是否在数组中而不进行for循环?具体来说,我正在寻找一种方法在一个if语句中这样做,所以像这样:

if [check that item is in array]:
Run Code Online (Sandbox Code Playgroud)

python arrays contains

181
推荐指数
3
解决办法
38万
查看次数

返回匹配条件的列表子集

假设我有一个ints 列表:

listOfNumbers = range(100)
Run Code Online (Sandbox Code Playgroud)

我想返回符合某种条件的元素列表,比如说:

def meetsCondition(element):
    return bool(element != 0 and element % 7 == 0)
Run Code Online (Sandbox Code Playgroud)

什么是Python化的方式返回子list在一个元素list为这 meetsCondition(element)True

一种天真的方法:

def subList(inputList):
    outputList = []

    for element in inputList:
        if meetsCondition(element):
            outputList.append(element)

    return outputList

divisibleBySeven = subList(listOfNumbers)
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法可以做到这一点,也许有一个列表理解或set()函数,没有临时的outputList?

python list-comprehension list set python-2.7

22
推荐指数
1
解决办法
3万
查看次数

如何从字符串列表中检索部分匹配项

有关在数字列表中检索部分匹配项的方法,请访问:


但是,如果您正在寻找如何检索字符串列表的部分匹配项,您会在下面的答案中找到简明扼要地解释的最佳方法。

SO:部分匹配的 Python 列表查找显示了如何返回 a bool,如果 alist包含部分匹配(例如beginsends, 或contains)某个字符串的元素。但是你怎么能返回元素本身,而不是TrueFalse

例子:

l = ['ones', 'twos', 'threes']
wanted = 'three'
Run Code Online (Sandbox Code Playgroud)

在这里,链接问题中的方法将返回True使用:

any(s.startswith(wanted) for s in l)
Run Code Online (Sandbox Code Playgroud)

那么如何返回元素'threes'呢?

python string list filter

19
推荐指数
5
解决办法
8382
查看次数

如何在列表中找到以某些子字符串开头的字符串索引?

我有一些像这样的列表:

lines = [
    "line",
    "subline2",
    "subline4",
    "line",
]
Run Code Online (Sandbox Code Playgroud)

我想获取以某些子字符串开头的行索引列表.

我用这种方法:

starts = [n for n, l in enumerate(lines) if l.startswith('sub')]
Run Code Online (Sandbox Code Playgroud)

但也许有人知道更美丽的方法吗?

python

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

if a == b or a == c: vs if a in {b, c}:

在我的代码中,我曾经if a == b or a == c or a == d:经常进行比较。在某些时候,我发现这些可以很容易地缩短为if a in {b, c, d}:或者if a in (b, c, d):如果值不可哈希。但是,我从未在其他任何人的代码中看到过这样的结构。这可能是因为:

  1. ==方法比较慢。
  2. ==方法是更Python。
  3. 他们实际上做了微妙不同的事情。
  4. 我碰巧也没有看过任何需要的代码。
  5. 我见过它,只是忽略或忘记了它。
  6. 人们不应该需要进行这样的比较,因为其他地方的代码应该会更好。
  7. in除了我,没有人想过办法。

如果有,是哪个原因?

python

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

Python相当于c ++ find_if

是否有内置的python等效std::find_if于查找给定条件的列表的第一个元素true?换句话说,类似于index()列表的功能,但具有任意的一元谓词,而不仅仅是对相等性的测试.

我不想使用列表理解,因为我想到的特定谓词计算起来有些昂贵.

python syntax

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

if x = list [] Python中的任何对象

如果我想查找x是否等于列表中的任何对象,我们如何在python中执行此操作?

就像是

if x == list[any]:
    do something
Run Code Online (Sandbox Code Playgroud)

python

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

Python检查项目是否在列表中

对不起,我是python的初学者.我想要做的是查看项目所在的列表.我所拥有的是一些列表设置如下:

    l1 = [1,2,3]  
    l2 = [4,5,6]  
    l3 = [7,8,9]  
Run Code Online (Sandbox Code Playgroud)

让我们说我想找到项目5所在的列表.我目前正在做的是:

    if l1.index(5)!=False:
        print 1
    elif l2.index(5)!=False:
        print 2
    elif l3.index(5)!=False:
        print 3
Run Code Online (Sandbox Code Playgroud)

但这不起作用.我该怎么做?

python

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

从字典中的键打印特定值索引

我有一本字典,每个键都有很多值。如何从该键打印特定值?

例如,我的键是“CHMI”,但它有 14 个与之关联的值。如何仅打印CHMI: 48680值?

CHMI: ['CHMI', '16', '16.09', '15.92', '16.01', '0.02', '0.13', '48680', '17.26', '12.6', '1.96', '12.24', '14.04', '23.15']
Run Code Online (Sandbox Code Playgroud)

python dictionary

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