小编use*_*051的帖子

在Python中创建2D矩阵的更优雅方式

可能重复:
如何在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填充它?

python loops matrix

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

使用python在大文本文件中搜索字符串的快速方法

这是我目前的情况:

  • 我有一个2.5MB的文本文件,大约250k字符串,按字母顺序排序
  • 每个字符串都是唯一的
  • 我不需要修改文本文件中的条目:加载文本文件后,永远不会编辑它
  • 文本文件在开始时加载,然后我只需要通过它搜索字符串

最后一点是问题所在.实际上我需要搜索完全匹配和字符串的部分匹配.我写的算法只涉及使用正则表达式结合一些尝试来使进程更快:例如,我将字典的索引硬编码到我的脚本中,识别字母表的单数字母,然后拆分大文本文件fictionary成26个较小的字典.这完全没用,脚本仍然非常慢.在这里略读一些帖子,我确信尝试了mmap:但是在给定正则表达式的情况下找到所有部分匹配看起来毫无用处.最后我得出结论,特里可以解决我的问题,虽然我几乎不知道这是什么.我应该尝试一下吗?如果是这样,我应该如何继续在python中创建一个trie?marisa-trie模块好吗?感谢大家

编辑:通过"部分匹配",我的意思是我有一个字符串的前缀.我不需要在结尾或中间的比赛,只是在开始时.

python regex trie

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

Python递归深度超出限制超出,并且不知道如何删除递归

也许这个问题可以通过删除所有这些功能来解决,不是吗?但是,我真的不知道如何让源工作.顺便说一句,它只是模拟一匹马在一个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 recursion limit

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

最快的空间 - 用python查找素数

也许这是一个愚蠢的问题,但我想知道你是否可以提供最短的来源,用Python找到素数.我还想知道如何使用map()或filter()函数找到素数.谢谢 (:

编辑:当我说最快/最短时,我指的是字符/单词较少的方式.无论如何,不​​要考虑比赛:我想知道是否有可能是单线源,而不会删除总是与周期一起使用的缩进.编辑2:没有想到大问题的问题.我认为我们可以保持在一百万以下(范围(2,1000000)编辑3:最短,但仍然优雅.正如我在第一次编辑中所说,你不需要将变量的名称减少为单个字母.我只需要一个一线,优雅的来源.谢谢!

python primes

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

标签 统计

python ×4

limit ×1

loops ×1

matrix ×1

primes ×1

recursion ×1

regex ×1

trie ×1