相关疑难解决方法(0)

在Python中,如何确定对象是否可迭代?

有方法isiterable吗?到目前为止我找到的唯一解决方案是打电话

hasattr(myObj, '__iter__')
Run Code Online (Sandbox Code Playgroud)

但我不确定这是多么万无一失.

python iterable

994
推荐指数
14
解决办法
41万
查看次数

如何检查字符串是否包含Python中列表中的元素

我有这样的事情:

extensionsToCheck = ['.pdf', '.doc', '.xls']

for extension in extensionsToCheck:
    if extension in url_string:
        print(url_string)
Run Code Online (Sandbox Code Playgroud)

我想知道在python中更优雅的方式是什么(不使用for循环)?我在考虑这样的事情(比如来自c/c ++),但它不起作用:

if ('.pdf' or '.doc' or '.xls') in url_string:
    print(url_string)
Run Code Online (Sandbox Code Playgroud)

编辑:我有点不得不解释这与下面的问题有什么不同,后者被标记为潜在的重复(所以它不会被关闭我猜).

区别在于,我想检查字符串是否是某些字符串列表的一部分,而另一个问题是检查字符串列表中的字符串是否是另一个字符串的子字符串.当你在线寻找答案时,类似但不完全相同的事物和语义很重要.这两个问题实际上是在寻求解决彼此相反的问题.两者的解决方案结果都是相同的.

python string if-statement

184
推荐指数
6
解决办法
21万
查看次数

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

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

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

python arrays contains

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

在Python中查找列表中的子字符串

背景:

示例列表: mylist = ['abc123', 'def456', 'ghi789']

如果匹配子字符串,我想检索一个元素,比如 abc

码:

sub = 'abc'
print any(sub in mystring for mystring in mylist)
Run Code Online (Sandbox Code Playgroud)

True如果列表中的任何元素包含模式,则上面打印.

我想打印匹配子字符串的元素.所以,如果我正在检查'abc'我只想'abc123'从列表中打印.

python string list

91
推荐指数
5
解决办法
21万
查看次数

Python是否有更简洁的方式表达"如果x包含| b | c | d ......"?

检查字符串x是否为子串的Pythonic方法y是:

if x in y:
Run Code Online (Sandbox Code Playgroud)

如果找到x就相当于a,b,c,d,e,fg也是Python的:

if x in [a,b,c,d,e,f,g]:
Run Code Online (Sandbox Code Playgroud)

但是,如果检查一些字符串x包含两种a,b,c,d,e,fg看起来笨重:

if a in x or b in x or c in x or d in x or e in x or f in x or g in x
Run Code Online (Sandbox Code Playgroud)

是否有更多Pythonic方法检查字符串是否x包含列表元素? …

python if-statement substring python-3.x

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

检查列表中包含字符串的字符串的最简单方法是什么?

我发现自己反复编写相同的代码块:

def stringInList(str, list):
    retVal = False
    for item in list:
        if str in item:
            retVal = True
    return retVal
Run Code Online (Sandbox Code Playgroud)

有没有什么办法可以更快/更少的代码编写这个功能?我通常在if语句中使用它,如下所示:

if stringInList(str, list):
    print 'string was found!'
Run Code Online (Sandbox Code Playgroud)

python string list

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

检查substring是否在字符串列表中?

我之前已经找到了这个问题的一些答案,但是对于当前的Python版本来说它们似乎已经过时了(或者至少它们对我不起作用).

我想检查字符串列表中是否包含子字符串.我只需要布尔结果.

我找到了这个解决方案

word_to_check = 'or'
wordlist = ['yellow','orange','red']

result = any(word_to_check in word for word in worldlist)
Run Code Online (Sandbox Code Playgroud)

从这段代码我希望得到一个True值.如果单词是"der",那么输出应该是False.

但是,结果是生成器函数,我找不到获取True值的方法.

任何的想法?

python string list

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

检查列表项是否包含其他列表中的项

我有一个清单:

my_list = ['abc-123', 'def-456', 'ghi-789', 'abc-456', 'def-111', 'qwe-111']

bad = ['abc', 'def']
Run Code Online (Sandbox Code Playgroud)

并且想要搜索包含字符串'abc'和'def'(以及其他不良内容)的项目.我怎样才能做到这一点?

几乎同样的问题在这里.

python list

20
推荐指数
2
解决办法
5万
查看次数

如何使用sklearn计算单词 - 共生矩阵?

我正在寻找sklearn中的一个模块,它可以让你得到单词 - 共生矩阵.

我可以得到文档术语矩阵,但不知道如何获得共生词的单词 - 矩阵.

python matrix scikit-learn

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

查找其他列表项中列表项的列表索引

我有一个长字符串列表,我想得到列表元素的索引与另一个列表中的字符串的子字符串匹配.检查是否列表项包含AA单字符串列表里面是很容易做到与列表理解,像这样的问题:

my_list = ['abc-123', 'def-456', 'ghi-789', 'abc-456']
thing_to_find = "abc"
matching = [i for i, x in enumerate(my_list) if thing_to_find in x]
Run Code Online (Sandbox Code Playgroud)

但是,我不仅要检查是否"abc"x,但是如果列表中有另一个列表中的任何字符串,如下所示:

my_list = ['abc-123', 'def-456', 'ghi-789', 'abc-456']
things_to_find = ['abc', 'def']
Run Code Online (Sandbox Code Playgroud)

这显然不起作用(但如果它真的很酷):

matching = [i for i, x in enumerate(my_list) if things_to_find in x]
Run Code Online (Sandbox Code Playgroud)

如果我单独运行命令,我可以找到列表索引,但它很乏味和可怕:

print([i for i, x in enumerate(my_list) if 'abc' in x])
# [0, 3]
print([i for i, x in enumerate(my_list) if 'def' in x])
# [1]
Run Code Online (Sandbox Code Playgroud)

找到一个列表中的元素在另一个列表中找到的所有实例的索引的最佳方法是什么?

python list-comprehension python-3.x

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

在Python中过滤文本数据

我在解决我在这里做错了什么问题.我有下面的代码(相当简单).

def compileWordList(textList, wordDict):
    '''Function to extract words from text lines exc. stops,
        and add associated line nums'''
    i = 0;
    for row in textList:
        i = i + 1
        words = re.split('\W+', row)
        for wordPart in words:
            word = repr(wordPart)
            word = word.lower()
            if not any(word in s for s in stopsList):
                if word not in wordDict:
                    x = wordLineNumsContainer()
                    x.addLineNum(i)
                    wordDict[word] = x
                elif word in wordDict:
                    lineNumValues = wordDict[word]
                    lineNumValues.addLineNum(i)
                    wordDict[word] = lineNumValues
            elif any(word in s …
Run Code Online (Sandbox Code Playgroud)

python

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

字符串中“in”运算符的使用与Python中包含字符串的列表之间的区别

我在下面的不同场景中使用了“in”运算符。一个直接在字符串上,另一个在字符串列表上。

>>> "yo" in "without you"
True
>>> "yo" in "without you".split()
False
Run Code Online (Sandbox Code Playgroud)

为什么输出不同?

python

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

检查str是否在str列表中?

['aa', 'ab', 'aaaa', 'ggg', 'agaga', 'a']
Run Code Online (Sandbox Code Playgroud)

从上面的列表中,我希望能够以最短的方式找出列表中是否包含"b".谢谢!

python string list

-6
推荐指数
1
解决办法
319
查看次数