该函数接受一个列表并返回一个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) 在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)
但仍然非常有兴趣了解导致这种情况的原因.
如果我有z = cumsum( [ 0, 1, 2, 6, 9 ] ),这给了我z = [ 0, 1, 3, 9, 18 ],我怎么能回到原来的阵列[ 0, 1, 2, 6, 9 ]?
运行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) 我有一个字符串:
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) 我有一个很长的布尔数组:
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)
我需要找出值翻转的位置,即,序列True和False开始的地址.在这种特殊情况下,我想得到
index = [0, 5, 10, 13, 15, 19, 26]
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法可以不用手动循环来检查第(i + 1)行的每个第i个元素?
ready:只有当某些组件不存在时(我们没有在HTML中声明),我才需要在根实例中做一些事情.
如何检查组件是否存在?
我最近一直在努力创建一个素数查找程序.但是,我注意到一个函数在使用参数时比使用预设值时慢得多.
在3个不同的版本中,很明显变量显着减慢了程序,我想知道原因.
这是原始的(这个问题有点简化)功能:
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几秒钟.
但是,这是第二个版本,其中没有参数,并且数字直接放在返回值中.该方程与第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几秒钟!
最后,为了完整性,我尝试了一个没有参数但仍将其值保存为变量的版本:
def version3():
n …Run Code Online (Sandbox Code Playgroud) 我有一个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之后加工一个数字.我还是不能看到一个明显的问题.它匹配行的开头,但不在中间.
我的一位同事今天写了类似下面的代码,请我看看,我花了一段时间才发现错误:
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 ×7
python-3.x ×5
list ×2
python-2.7 ×2
regex ×2
.net ×1
algorithm ×1
boolean ×1
c# ×1
class ×1
cumsum ×1
django ×1
ends-with ×1
javascript ×1
math ×1
numpy ×1
performance ×1
recursion ×1
super ×1
vue.js ×1