相关疑难解决方法(0)

Pythonic方法检查条件是否适用于列表的任何元素

我有一个Python列表,我想检查是否有任何元素是否定的.Specman有has()列表的方法:

x: list of uint;
if (x.has(it < 0)) {
    // do something
};
Run Code Online (Sandbox Code Playgroud)

itSpecman关键字在哪里依次映射到列表的每个元素.

我觉得这很优雅.我查看了Python文档,找不到类似的东西.我能想到的最好的是:

if (True in [t < 0 for t in x]):
    # do something
Run Code Online (Sandbox Code Playgroud)

我发现这相当不优雅.有没有更好的方法在Python中执行此操作?

python list

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

Python:如果列表中的任何字符串与正则表达式匹配

我需要检查列表中的任何字符串是否与正则表达式匹配.如果有的话,我想继续.我过去总是这样做的方式是使用列表理解,例如:

r = re.compile('.*search.*')
if [line for line in output if r.match(line)]:
  do_stuff()
Run Code Online (Sandbox Code Playgroud)

我现在意识到这是非常低效的.如果列表中的第一个项目匹配,我们可以跳过所有其余的比较并继续.我可以改进这个:

r = re.compile('.*search.*')
for line in output:
  if r.match(line):
    do_stuff()
    break
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有更多的pythonic方式来做到这一点.

python regex

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

标签 统计

python ×2

list ×1

regex ×1