小编Kas*_*mvd的帖子

如何在列表中查找嵌套列表的数量?

该函数接受一个列表并返回一个int,具体取决于列表中有多少列表不包括列表本身.(为简单起见,我们可以假设所有内容都是整数或列表.)

例如:

x=[1,2,[[[]]],[[]],3,4,[1,2,3,4,[[]] ] ]

count_list(x) # would return 8
Run Code Online (Sandbox Code Playgroud)

我认为使用递归会有所帮助,但我不知道如何实现它,这是我到目前为止所做的.

def count_list(a,count=None, i=None):

    if count==None and i==None:
        count=0
        i=0
    if i>len(a)
        return(count)
    if a[i]==list
       i+=1
       count+=1
       return(count_list(a[i][i],count))
    else:
        i+=1
        return(count_list(a[i]))
Run Code Online (Sandbox Code Playgroud)

python recursion list python-3.x

16
推荐指数
3
解决办法
5003
查看次数

为什么用Regex.IsMatch检查此字符串会导致CPU达到100%?

Regex.IsMatch特定字符串上使用(C#,.Net 4.5)时,CPU达到100%.

串:

https://www.facebook.com/CashKingPirates/photos/a.197028616990372.62904.196982426994991/1186500984709792/?type=1&permPage=1
Run Code Online (Sandbox Code Playgroud)

图案:

^http(s)?://([\w-]+.)+[\w-]+(/[\w- ./?%&=])?$
Run Code Online (Sandbox Code Playgroud)

完整代码:

Regex.IsMatch("https://www.facebook.com/CashKingPirates/photos/a.197028616990372.62904.196982426994991/1186500984709792/?type=1&permPage=1",
                @"^http(s)?://([\w-]+.)+[\w-]+(/[\w- ./?%&=])?$");
Run Code Online (Sandbox Code Playgroud)

我发现编辑URL可以防止出现此问题.编辑的URL:

https://www.facebook.com/CashKingPirates/photos/a.197028616990372.62904.196982426994991/1186500984709792
Run Code Online (Sandbox Code Playgroud)

但仍然非常有兴趣了解导致这种情况的原因.

.net c# regex

16
推荐指数
2
解决办法
1142
查看次数

numpy cumsum函数的反函数是什么?

如果我有z = cumsum( [ 0, 1, 2, 6, 9 ] ),这给了我z = [ 0, 1, 3, 9, 18 ],我怎么能回到原来的阵列[ 0, 1, 2, 6, 9 ]

python numpy cumsum

16
推荐指数
4
解决办法
3172
查看次数

django TemplateSyntaxError无效的块标记:'trans'

运行runserver命令后,我收到以下错误:

/ questions /无效块标签上的TemplateSyntaxError:'trans'

有谁知道这是什么原因?

这是我的模板语法:

     {% extends "two_column_body.html" %}
{# 
    this template is split into several
    blocks that are included here
    the blocks are within directory templates/main_page
    relative to the skin directory

    there is no html markup in this file
#}
<!-- questions.html -->
{% block forejs %}
    {% include "main_page/custom_head_javascript.html" %}
{% endblock %}
{% block title %}{% spaceless %}{% trans %}Questions{% endtrans %}{% endspaceless %}{% endblock %}
{% block content %}
    {% include "main_page/tab_bar.html" %} …
Run Code Online (Sandbox Code Playgroud)

django django-templates

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

Python endswith()有多个字符串

我有一个字符串:

myStr = "Chicago Blackhawks vs. New York Rangers"
Run Code Online (Sandbox Code Playgroud)

我也有一个清单:

myList = ["Toronto Maple Leafs", "New York Rangers"]
Run Code Online (Sandbox Code Playgroud)

使用endswith()方法,我想写一个if语句,检查myString是否以myList中的任何一个字符串结尾.我有基本的if语句,但我对我应该在括号中加入来检查这个问题感到困惑.

if myStr.endswith():
    print("Success")
Run Code Online (Sandbox Code Playgroud)

python python-2.7 python-3.x ends-with

15
推荐指数
2
解决办法
4422
查看次数

如何识别布尔数组中的值序列?

我有一个很长的布尔数组:

bool_array = [ True, True, True, True, True, False, False, False, False, False, True, True, True, False, False, True, True, True, True, False, False, False, False, False, False, False ]
Run Code Online (Sandbox Code Playgroud)

我需要找出值翻转的位置,即,序列TrueFalse开始的地址.在这种特殊情况下,我想得到

index = [0, 5, 10, 13, 15, 19, 26]
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法可以不用手动循环来检查第(i + 1)行的每个第i个元素?

python boolean list python-3.x

15
推荐指数
3
解决办法
1550
查看次数

Vue.js:检查组件是否存在

ready:只有当某些组件不存在时(我们没有在HTML中声明),我才需要在根实例中做一些事情.

如何检查组件是否存在?

javascript vue.js

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

为什么使用参数使这个函数变得如此慢?

我最近一直在努力创建一个素数查找程序.但是,我注意到一个函数在使用参数时比使用预设值时慢得多.

在3个不同的版本中,很明显变量显着减慢了程序,我想知道原因.

版本1:7.5秒

这是原始的(这个问题有点简化)功能:

def version1(n, p):
  return ((n*n - 2) & ((1 << p) - 1)) + ((n*n - 2) >> p)
Run Code Online (Sandbox Code Playgroud)

使用timeit模块运行100次时:

timeit.timeit("version1(200, 500000000)", "from __main__ import version1", number=100)
Run Code Online (Sandbox Code Playgroud)

这需要7.5几秒钟.

版本2:0.0001秒

但是,这是第二个版本,其中没有参数,并且数字直接放在返回值中.该方程与第1版完全相同:

def version2():
  return ((200*200 - 2) & ((1 << 500000000) - 1)) + ((200*200 - 2) >> 500000000)
Run Code Online (Sandbox Code Playgroud)

使用timeit模块运行100次时:

timeit.timeit("version2()", "from __main__ import version2", number=100
Run Code Online (Sandbox Code Playgroud)

在这只需要0.00001几秒钟!

版本3:6.3秒

最后,为了完整性,我尝试了一个没有参数但仍将其值保存为变量的版本:

def version3():
  n …
Run Code Online (Sandbox Code Playgroud)

python algorithm math performance

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

Python正则表达式匹配字符串的中间位置

我有一个python字符串,我正在尝试提取.我有一个有趣的问题:

>>> s="SKU 9780136058281, (ASIN B00A2KNZ2S, (binding Merchant: 'paperback' / 'hardcover'))"
>>> print(re.match('ASIN', s))
None
>>> print(re.match('SKU', s))
<_sre.SRE_Match object; span=(0, 3), match='SKU'>
Run Code Online (Sandbox Code Playgroud)

我想在ASIN之后加工一个数字.我还是不能看到一个明显的问题.它匹配行的开头,但不在中间.

python regex python-2.7 python-3.x

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

super()的第二个参数?

我的一位同事今天写了类似下面的代码,请我看看,我花了一段时间才发现错误:

class A():                                                                                         
    def __init__(self):                                                         
        print('A')                                                              

class B(A):                                                                     
    def __init__(self):                                                         
        super(B).__init__()                                               

b = B()
Run Code Online (Sandbox Code Playgroud)

这里的问题是在构造函数中没有self参数.让我感到惊讶的是,在这种情况下绝对没有任何事情发生,即没有错误,没有.包含的对象创建了什么?作为一个对象,它显然有一个构造函数,所以这是被调用的,但该对象是如何与?相关的?特别是,为什么这个有效的代码并没有在某处抛出异常?是一个具有一些实际用途的对象,那会是什么?super()Bsupersuper(B)Bsuper(B)

python class super python-3.x

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