小编Ana*_*ari的帖子

什么是无限数据结构的引人注目的用例?

有些语言(Haskell,Clojure,Scheme等)有懒惰的评价.懒惰评估的"卖点"之一是无限数据结构.这有什么好处的?能够处理无限数据结构的情况的一些例子显然是有利的吗?

scheme haskell clojure lazy-sequences data-structures

24
推荐指数
4
解决办法
3952
查看次数

Python:如何重新加载已导入*的模块

我知道如果我按名称导入模块import(moduleName),那么我可以重新加载它reload(moduleName)

但是,我正在用Kleene星导入一堆模块:

from proj import *
Run Code Online (Sandbox Code Playgroud)

在这种情况下如何重新加载它们?

python

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

Python:当多个进程同时写入“搁置”时需要担心什么?

对于我的 python 应用程序,我正在考虑使用标准库的一部分shelve。将有数百个进程,每个进程向同一个搁置对象写入一些内容。写作总是将一个新的键值对添加到货架上。键是唯一的,所以没有两个进程会更新同一个条目。

在这种情况下会出现什么问题?

python concurrency shelve

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

Python:导入导入模块的模块

所以在文件foo我导入模块:

import lib.helper_functions
import lib.config
Run Code Online (Sandbox Code Playgroud)

在helper_functions.py中,我有:

import config
Run Code Online (Sandbox Code Playgroud)

当我运行foo的main函数时,我得到一个ImportError

编辑:这是我的文件的结构

foo.py
lib/
    config.py
    helper_functions.py
Run Code Online (Sandbox Code Playgroud)

在helper_functions中导入配置会导致错误

Traceback (most recent call last):
  File "C:\Python33\foo.py", line 1, in <module>
    import lib.helper_functions
  File "C:\Python33\lib\helper_functions.py", line 1, in <module>
    import config
ImportError: No module named 'config'
Run Code Online (Sandbox Code Playgroud)

所以:当我运行foo.py时,解释器会抱怨helper_functions的import语句.然而,当我运行helper_functions的主要部分时,不会出现这样的错误.

python python-import

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

为什么最受欢迎的CMS使用PHP?

WordPress,Joomla和Drupal都在PHP中.这些也是目前使用最广泛的CMS.其他语言的CMS(Python中的Plon,Java中的Hippo,Ruby中的Radiant)只占该流行度的一小部分.当涉及到其他Web开发工具(如框架)时,这种差距并不那么显着,其中许多流行的强大框架存在于这些语言中(Django,Rails,Play,Spring Roo等).这有什么特别的原因吗?

php content-management-system

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

Java是开源的,那么呢?

我总是听说Java是开源的,这是一个很大的好处,但是我没有看到Java是开源的应该让我使用它而不是封闭源的.NET. 这个网站有一些问答部分(特别是这些发展对行业有什么意义)给出了一些信息,但是Java是开源的唯一(或最大)优势?

由于我是初学者,有没有任何专业人士发现自改变以来有什么重大差异?

编辑:

请忽略这个问题的.NET部分,我只是将它用作比较. 我真正关心的是了解Java开源的好处.

.net java open-source

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

一种pythonic方法,用于删除元素的所有实例而不生成新列表

有许多类似的问题(这里是一个),但我见过的解决方案使用列表理解或过滤器,这些方法生成一个新的列表(或Python 3.x中的过滤器的新迭代器).有些解决方案可以通过修改列表本身来删除实例(就像这样,这个),这些将是我的最后手段.但是,我想看看是否有一个更优雅("Pythonic",另一个问题称之为)这样做的方式.

为什么我无视生成新列表的解决方案:我正在迭代列表集合,Python允许我修改我正在迭代的"当前"列表,但不是完全替换它:

>>> ll= [[1,2,3], [2,3,4], [4,5,6]]

>>> for l in ll:
        if l[0] == 2:
            l = [10]
>>> ll
[[1, 2, 3], [2, 3, 4], [4, 5, 6]]   #replacement didn't happen

>>> for l in ll:
        if l[0] == 2:
            l.remove(2)
>>> ll
[[1, 2, 3], [3, 4], [4, 5, 6]]   #modification succeeded 
Run Code Online (Sandbox Code Playgroud)

python list data-structures

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