可能重复:
如何在Python中初始化二维数组?
我总是以这种方式编写这部分代码:每次我需要它时,我都使用这个python代码:
for x in range(8):
a.append([])
for y in range(8):
a[x].append(0)
Run Code Online (Sandbox Code Playgroud)
但是,我想知道是否有办法美化这段代码.我的意思是,你如何在python中创建一个二维矩阵,并用0填充它?
这是我目前的情况:
最后一点是问题所在.实际上我需要搜索完全匹配和字符串的部分匹配.我写的算法只涉及使用正则表达式结合一些尝试来使进程更快:例如,我将字典的索引硬编码到我的脚本中,识别字母表的单数字母,然后拆分大文本文件fictionary成26个较小的字典.这完全没用,脚本仍然非常慢.在这里略读一些帖子,我确信尝试了mmap:但是在给定正则表达式的情况下找到所有部分匹配看起来毫无用处.最后我得出结论,特里可以解决我的问题,虽然我几乎不知道这是什么.我应该尝试一下吗?如果是这样,我应该如何继续在python中创建一个trie?marisa-trie模块好吗?感谢大家
编辑:通过"部分匹配",我的意思是我有一个字符串的前缀.我不需要在结尾或中间的比赛,只是在开始时.
也许这个问题可以通过删除所有这些功能来解决,不是吗?但是,我真的不知道如何让源工作.顺便说一句,它只是模拟一匹马在一个chesstable,周围和周围,随机,试图访问每个广场一次; 我得到一个递归深度超出错误.
import random
def main():
global tries,moves
tries,moves=0,0
restart()
def restart():
global a,indexes,x,y
a=[[0 for y in range(8)] for x in range(8)] #Costrutto chic
indexes=[x for x in range(8)]
#Random part
x=random.randint(0,7)
y=random.randint(0,7)
a[x][y]=1
start()
def start():
global i,indexes,moves,tries
i=0
random.shuffle(indexes) #List filled with random numbers that i'll use as indexes
while i<=7:
if indexes[i]==0:
move(-2,-1)
elif indexes[i]==1:
move(-2,1)
elif indexes[i]==2:
move(-1,-2)
elif indexes[i]==3:
move(-1,2)
elif indexes[i]==4:
move(1,-2)
elif indexes[i]==5:
move(1,2)
elif indexes[i]==6:
move(2,-1)
elif indexes[i]==7:
move(2,1)
i+=1
for …Run Code Online (Sandbox Code Playgroud) 也许这是一个愚蠢的问题,但我想知道你是否可以提供最短的来源,用Python找到素数.我还想知道如何使用map()或filter()函数找到素数.谢谢 (:
编辑:当我说最快/最短时,我指的是字符/单词较少的方式.无论如何,不要考虑比赛:我想知道是否有可能是单线源,而不会删除总是与周期一起使用的缩进.编辑2:没有想到大问题的问题.我认为我们可以保持在一百万以下(范围(2,1000000)编辑3:最短,但仍然优雅.正如我在第一次编辑中所说,你不需要将变量的名称减少为单个字母.我只需要一个一线,优雅的来源.谢谢!