相关疑难解决方法(0)

为什么startwith比切片慢

为什么执行startwith比切片慢?

In [1]: x = 'foobar'

In [2]: y = 'foo'

In [3]: %timeit x.startswith(y)
1000000 loops, best of 3: 321 ns per loop

In [4]: %timeit x[:3] == y
10000000 loops, best of 3: 164 ns per loop
Run Code Online (Sandbox Code Playgroud)

令人惊讶的是,即使包括计算长度,切片仍然显得更快:

In [5]: %timeit x[:len(y)] == y
1000000 loops, best of 3: 251 ns per loop
Run Code Online (Sandbox Code Playgroud)

注意:此行为的第一部分在Python for Data Analysis(第3章)中有说明,但没有提供解释.

.

如果有用:这是C代码startswith ; 这是输出dis.dis:

In [6]: import dis

In [7]: dis_it = lambda …
Run Code Online (Sandbox Code Playgroud)

python startswith

47
推荐指数
4
解决办法
5407
查看次数

python中的唯一会话ID

如何在Python中生成唯一的会话ID?

python session

38
推荐指数
4
解决办法
3万
查看次数

为django模型生成独特的哈希值

我想为每个模型使用唯一的哈希而不是ID.

我实现了以下功能,可以轻松地全面使用它.

import random,hashlib
from base64 import urlsafe_b64encode

def set_unique_random_value(model_object,field_name='hash_uuid',length=5,use_sha=True,urlencode=False):
    while 1:
        uuid_number = str(random.random())[2:]
        uuid = hashlib.sha256(uuid_number).hexdigest() if use_sha else uuid_number
        uuid = uuid[:length]
        if urlencode:
            uuid = urlsafe_b64encode(uuid)[:-1]
        hash_id_dict = {field_name:uuid}
        try:
            model_object.__class__.objects.get(**hash_id_dict)
        except model_object.__class__.DoesNotExist:
            setattr(model_object,field_name,uuid)
            return
Run Code Online (Sandbox Code Playgroud)

我正在寻求反馈,我怎么能这样做?我怎样才能改进它?有什么好坏和丑陋的?

python random django hash

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

在熊猫中生成随机字符串

我想创建一个包含200个不同值的一百万个键的字符串:

N = 1000000 
uniques_keys = [pd.core.common.rands(3) for i in range(200)] 
keys = [random.choice(uniques_keys) for i in range(N)] 
Run Code Online (Sandbox Code Playgroud)

但是,出现以下错误

In [250]:import pandas as pd 

In [251]:pd.core.common.rands(3)
Traceback (most recent call last):

  File "<ipython-input-251-31d12e0a07e7>", line 1, in <module>
    pd.core.common.rands(3)

AttributeError: module 'pandas.core.common' has no attribute 'rands'
Run Code Online (Sandbox Code Playgroud)

我使用的熊猫版本为0.18.0。

pandas

5
推荐指数
2
解决办法
2690
查看次数

标签 统计

python ×3

django ×1

hash ×1

pandas ×1

random ×1

session ×1

startswith ×1