关于两种方法,我有一个简单而广泛的问题:
scipy.stats.randint
Run Code Online (Sandbox Code Playgroud)
和
numpy.random.randint
Run Code Online (Sandbox Code Playgroud)
在阅读了两种方法的API之后,我对最好何时使用每种方法感到困惑; 因此,我想知道是否有人可以概述两者之间的差异,并可能提供一些例子,说明何时一种方法优于另一种方法.谢谢!
编辑:每个方法文档的链接 - > numpy.random.randint, scipy.stats.randint
我正在浏览 Pythonhashlib包文档,并希望对两个哈希对象属性(即hash.block_size和hash.digest_size)进行澄清。下面是每个属性的定义:
hash.digest_size= "结果散列的大小,以字节为单位。"
hash.block_size= "哈希算法的内部块大小,以字节为单位。"
来源:https : //docs.python.org/2/library/hashlib.html
所以我理解这hash.digest_size只是数据被 hash_object 散列或“消化”后的长度或大小(以字节为单位)。例如,从下面的代码中,通过 SHA256 哈希对象获取字符串“Hello World”的摘要会返回 32 字节(或 256 位)的digest_size。
import hashlib
hash_object = hashlib.sha256()
hash_object.update(b'Hello World')
hex_dig = hash_object.hexdigest()
print(hex_dig)
>>>a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e
print(hash_object.digest_size)
>>>32
print(hash_object.block_size)
>>>64
print(len(hex_dig))
>>>64
Run Code Online (Sandbox Code Playgroud)
我不明白的是这个hash.block_size属性。是否只是表示散列数据的十六进制表示所需的字符长度?完全是别的东西吗?我不太明白这个属性的定义,所以对此的任何澄清都会非常有帮助和有见地!
我有一个混合对象类型(字符串和整数)的列表,我想要做的是.join列表到一个字符串,其中每个字符串用引号括起来BESIDES整数.例如,如果我有这个列表:
sample_list = ['abcd', 'chicken', 'wasd', 1, 'blah', 3, 'foo', 'bar']
Run Code Online (Sandbox Code Playgroud)
我想从中生成以下字符串:
sample_string = "('abcd', 'chicken', 'wasd', 1, 'blah', 3, 'foo', 'bar')"
Run Code Online (Sandbox Code Playgroud)
这就是我所拥有的:
sample_string = "(" + ', '.join("'{0}'".format(item) for item in sample_list if type(item) is not int) + ")"
Run Code Online (Sandbox Code Playgroud)
很显然,我的代码是错误的,因为我的整数值最终因为'if'语句而被删除,但我已经陷入困境,想出一种优雅的方式来生成我想要的字符串,并且想知道是否有人可以帮助提供一些提示如何这样做.
提前致谢!