相关疑难解决方法(0)

为什么[]比list()更快?

我最近比较了处理速度[]和,list()并且惊讶地发现它的[]运行速度比它三倍list().我跑了相同的测试与{}dict(),结果几乎相同:[]{}两个花了大约0.128sec /百万次,而list()dict()大约花费每个0.428sec /万次.

为什么是这样?不要[]{}(可能()'',太)立即传回文字的一些空股票的份,而其明确命名同行(list(),dict(),tuple(),str())完全去创建一个对象,他们是否真的有元素?

我不知道这两种方法有何不同,但我很想知道.我无法在文档中或在SO上找到答案,搜索空括号结果比我预期的问题更多.

我拨打了我的时序结果timeit.timeit("[]")timeit.timeit("list()"),和timeit.timeit("{}")timeit.timeit("dict()"),分别比较列表和字典.我正在运行Python 2.7.9.

我最近发现的" 为什么是,如果真慢于如果为1? "来比较的性能if Trueif 1,似乎触及了类似的文字,对全局的情况; 也许值得考虑一下.

python performance list instantiation literals

679
推荐指数
5
解决办法
7万
查看次数

在Python中创建一个空列表

在Python中创建新空列表的最佳方法是什么?

l = [] 
Run Code Online (Sandbox Code Playgroud)

要么

l = list()
Run Code Online (Sandbox Code Playgroud)

我问这个是因为两个原因:

  1. 技术原因,哪个更快.(创建一个类导致开销?)
  2. 代码可读性 - 哪一个是标准惯例.

python performance coding-style list timeit

229
推荐指数
3
解决办法
64万
查看次数

如何并行化一个简单的Python循环?

这可能是一个微不足道的问题,但我如何在python中并行化以下循环?

# setup output lists
output1 = list()
output2 = list()
output3 = list()

for j in range(0, 10):
    # calc individual parameter value
    parameter = j * offset
    # call the calculation
    out1, out2, out3 = calc_stuff(parameter = parameter)

    # put results into correct output list
    output1.append(out1)
    output2.append(out2)
    output3.append(out3)
Run Code Online (Sandbox Code Playgroud)

我知道如何在Python中启动单线程,但我不知道如何"收集"结果.

多个过程也可以 - 对于这种情况最简单的事情.我正在使用当前的Linux,但代码应该在Windows和Mac上运行.

并行化此代码的最简单方法是什么?

python parallel-processing

200
推荐指数
11
解决办法
25万
查看次数

使用dict文字和dict构造函数之间有区别吗?

使用PyCharm,我注意到它提供转换dict文字:

d = {
    'one': '1',
    'two': '2',
}
Run Code Online (Sandbox Code Playgroud)

进入一个dict构造函数:

d = dict(one='1', two='2')
Run Code Online (Sandbox Code Playgroud)

这些不同的方法在某些重要方面有所不同吗?

(在写这个问题时,我注意到使用dict()它似乎不可能指定一个数字键.. d = {1: 'one', 2: 'two'}是可能的,但显然,dict(1='one' ...)不是.还有其他吗?)

python dictionary pycharm

192
推荐指数
6
解决办法
13万
查看次数

为什么要使用list()构造函数?

我只是想知道list()构造函数的用法,因为如果我们要创建一个新列表,那么我们可以使用方括号,那么list()构造函数的具体用途是什么。

newGrocerylist = list(("apple", "guava", "mango", "pineapple", "orange")) #Why use the list() constructor.
print(newGrocerylist)

#We can also do like this--

newGrocerylist = ["apple", "guava", "mango", "pineapple", "orange"]
print(newGrocerylist)
Run Code Online (Sandbox Code Playgroud)

python python-3.x

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