摘要: 源字符串: 在线加密:https://md5jiami.51240.com/ python demo: 输出: 参考: https://www.cnblogs.com/wmm007/p/7810061.html 阅读全文
posted @ 2019-03-21 19:21 anobscureretreat 阅读(346) 评论(0) 推荐(0)
摘要: a = slice(2, 7) s = 'HelloWorld' print(a.indices(len(s))) for i in range(*a.indices(len(s))): print(s[i]) 阅读全文
posted @ 2019-03-21 19:13 anobscureretreat 阅读(222) 评论(0) 推荐(0)
摘要: import timeprint(int(round(time.time() * 1000))) 阅读全文
posted @ 2019-03-21 18:31 anobscureretreat 阅读(633) 评论(0) 推荐(0)
摘要: 假定你要从一个记录(比如文件或其他类似格式)中的某些固定位置提取字段: 与其那样写,为什么不想这样命名切片呢: 内置的 slice() 函数创建了一个切片对象。所有使用切片的地方都可以使用切片对象。比如: 如果你有一个切片对象a,你可以分别调用它的 a.start , a.stop , a.step 阅读全文
posted @ 2019-03-21 18:00 anobscureretreat 阅读(454) 评论(0) 推荐(0)
摘要: 不可改变性是指一些对象在被创建之后不会因为某些方式改变,特别是针对任何可以改变哈希对象的哈希值的方式。 两者相联系是因为哈希键值一定是不可改变的,所以它们对应的哈希键值也不改变。 如果允许它们改变,那么它们在数据结构如哈希表中的存储位置也会改变,因此会与哈希的概念违背,效率会大打折扣。 Hashin 阅读全文
posted @ 2019-03-21 17:24 anobscureretreat 阅读(265) 评论(0) 推荐(0)
摘要: 如果一个对象在自己的生命周期中有一哈希值(hash value)是不可改变的,那么它就是可哈希的(hashable)的,因为这些数据结构内置了哈希值,每个可哈希的对象都内置了__hash__方法,所以可哈希的对象可以通过哈希值进行对比,也可以作为字典的键值和作为set函数的参数。所有python中所 阅读全文
posted @ 2019-03-21 17:20 anobscureretreat 阅读(4221) 评论(0) 推荐(0)
摘要: 如果序列上的值都是 hashable 类型,那么可以很简单的利用集合或者生成器来解决这个问题。比如: 下面是使用上述函数的例子: 这个方法仅仅在序列中元素为 hashable 的时候才管用。 如果你想消除元素不可哈希(比如 dict类型)的序列中重复元素的话,你需要将上述代码稍微改变一下,就像这样: 阅读全文
posted @ 2019-03-21 17:16 anobscureretreat 阅读(394) 评论(0) 推荐(0)
摘要: 考虑下面两个字典: 为了寻找两个字典的相同点,可以简单的在两字典的 keys() 或者 items() 方法返回结果上执行集合操作。比如: 这些操作也可以用于修改或者过滤字典元素。 比如,假如你想以现有字典构造一个排除几个指定键的新字典。 下面利用字典推导来实现这样的需求: 阅读全文
posted @ 2019-03-21 16:37 anobscureretreat 阅读(878) 评论(0) 推荐(0)
摘要: 考虑下面的股票名和价格映射字典: 为了对字典值执行计算操作,通常需要使用 zip() 函数先将键和值反转过来。 比如,下面是查找最小和最大股票价格和股票值的代码: 类似的,可以使用 zip() 和 sorted() 函数来排列字典数据: 执行这些计算的时候,需要注意的是 zip() 函数创建的是一个 阅读全文
posted @ 2019-03-21 15:14 anobscureretreat 阅读(493) 评论(0) 推荐(0)
摘要: 为了能控制一个字典中元素的顺序,你可以使用 collections 模块中的 OrderedDict 类。 在迭代操作的时候它会保持元素被插入时的顺序,示例如下 当你想要构建一个将来需要序列化或编码成其他格式的映射的时候, OrderedDict 是非常有用的。 比如,你想精确控制以 JSON 编码 阅读全文
posted @ 2019-03-21 14:48 anobscureretreat 阅读(341) 评论(0) 推荐(0)
摘要: 一个字典就是一个键对应一个单值的映射。如果你想要一个键映射多个值,那么你就需要将这多个值放到另外的容器中, 比如列表或者集合里面。比如,你可以像下面这样构造这样的字典: 选择使用列表还是集合取决于你的实际需求。如果你想保持元素的插入顺序就应该使用列表, 如果想去掉重复元素就使用集合(并且不关心元素的 阅读全文
posted @ 2019-03-21 14:42 anobscureretreat 阅读(5757) 评论(0) 推荐(0)
摘要: demo1 实现一个按优先级排序的队列, 并且在这个队列上面每次 pop 操作总是返回优先级最高的那个元素 输出: 使用: 仔细观察可以发现,第一个 pop() 操作返回优先级最高的元素。 另外注意到如果两个有着相同优先级的元素( foo 和 grok ),pop 操作按照它们被插入到队列的顺序返回 阅读全文
posted @ 2019-03-21 11:35 anobscureretreat 阅读(404) 评论(0) 推荐(0)