V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Contextualist  ›  全部回复第 7 页 / 共 8 页
回复总数  146
1  2  3  4  5  6  7  8  
2017-01-07 16:28:46 +08:00
回复了 Contextualist 创建的主题 分享创造 优雅地从 GitHub 下载 latest releases
@jason0916 嗯,假如不介意版本的稳定性的话。这样是从源码直接安装吧
2017-01-06 17:55:12 +08:00
回复了 janstk 创建的主题 Python 刚接触 python,有些关于 http 请求的东西搞不定.
2017-01-03 18:43:08 +08:00
回复了 Jakesoft 创建的主题 PHP 我是这么实现斐波那契数列的
@Kilerd 文章中下面的矩阵乘法和代数方法就是“重复平方”(其实就是乘法结合律)的具体实现
2016-12-07 21:39:53 +08:00
回复了 seizetheday 创建的主题 Python 求推荐 python 的任务管理的方法
个人比较喜欢 https://github.com/dbader/schedule ,适合简单的任务,比 apscheduler 更轻
2016-11-28 20:12:30 +08:00
回复了 pppy 创建的主题 Python 获取下个周三的日期
def get_wednesday_date():
   today = datetime.datetime.today().isoweekday()
   time_delta = timedelta(date=3 - today + (3<today) * 7)
   return today + time_delta
@Nisenasdf
我只会从静态语言的角度解释,所以下面说的不一定是对的。
1. 这个涉及到数组 (Python 里的近似就是元素都是不可变对象的 list ,就是你所说的“简单的 list ”) 和链表这两种基本数据结构的本质用途:二者同样是序列,数组按 index 存值取值,对于**固定**的序列存取都是 O(1);双向链表按 pre 、 next 遍历,因为节点是可变对象,可以被引用 (对于 od 来说就是 self.__map[key] 的用途) ,对于**动态**的序列存取也是 O(1)。
od 显然要维护一个动态序列,链表就是个很好的选择。你可能会想到 list 可以 del 某个元素,但这其实破坏了数组的规则 (Python 的 list 不是数组), index 都被改变了,不能根据原来的 index 来存取。那元素是可变对象的 list ([[key1], [key2], ...]) 呢?这样也可以用不受 index 影响的不变引用来 O(1) 存取。但其实 list 的 del 效率是很低的,是 O(n),因为要重新分配 index 。总之,对于动态序列,用链表就对了。

2. 上面的问题纠结完了,这个问题就很好回答。双向链表的节点必须要 pre , next ,和值这三部分,没有任何冗余。其次,引用其实不是很占空间。再说了,牺牲了空间,换来了时间。

题外话:关于指针和引用,请看: https://zh.m.wikipedia.org/wiki/參照
关键在于
> # Each link is stored as a list of length three: [PREV, NEXT, KEY].
就是说 od 的有序实际上是由一个双向链表实现的。由于 Python 里 list 是可变对象,一个节点 list 里的 PREV 和 NEXT 是对前驱和后继节点 list 的引用

初始化那里, root 前驱和后继都指向自己,方便接下来实现环链。
那句核心操作应该联系上文:
last = root[0]
last[1] = root[0] = [last, root, key] # self.__map[key] 可以稍后再看
这句话实现了在 root 前插入节点,建议楼主自己在纸上画一下。
2016-11-13 20:44:08 +08:00
回复了 iShawnWang 创建的主题 程序员 靠谱的文档协作平台 ~
Quip +1
文档和表格协作
集成聊天
文件夹式的文档管理
用它所见即所得的 Markdown ,当然也可用简单的格式化按钮,来做 todo list
不用翻墙
2016-11-09 21:18:55 +08:00
回复了 Tianny 创建的主题 Python 请教大家关于 python 类属性和实例属性的问题,谢谢!
我感觉上面各位都有些偏题了,造成这个现象的原因的确如楼主所说:字典是可变对象。
首先“实例属性的修改不会影响类属性”的确是对的
在实例属性没有的情况下,使用类属性,所以实例与类的 x 都是对那个字典的引用
但是 code2 中 foo.x[1] = 'world' 根本就**没有**修改或者创建实例属性,是 foo.x 的引用那个字典里的值被改变了, foo.x 的引用没变。然后因为实例与类的 x 都是对那个字典的引用,所以值相同
2016-11-09 20:24:07 +08:00
回复了 anonymoustian 创建的主题 Docker docker 镜像一定是系统吗?
有一个神奇的东西叫 FROM scratch
https://docs.docker.com/engine/userguide/eng-image/baseimages/
简单来说就是一个空镜像,各种系统的基础镜像都是基于它写的。对于某些程序,可以 FROM scratch ,然后再 ADD 这个程序的没有系统依赖的二进制可执行文件,这样得到的镜像只有这个二进制文件的大小。
2016-10-18 14:30:06 +08:00
回复了 vtoexsir 创建的主题 Python python 中怎样在多层循环间灵活的跳转?
用 itertools 里的 product 来合并多层循环:
>>> from itertools import product
>>> for i,ii in product(['a','b','c'], range(5)):
. . . . . . . .print i,ii
. . . . . . . .if ii==2:
. . . . . . . . . . . .break
2016-09-20 20:06:25 +08:00
回复了 hnsxyhh 创建的主题 Python 如何获取当前脚本里所有的类名?
3 楼正解, globals() 返回所有全局变量的 dict ,然后只需要逐个用 type() 筛出是 class 的变量就行了。
2016-09-14 21:05:52 +08:00
回复了 tinkerer 创建的主题 分享发现 :doge: CloudMagic 改名 Newton Mail 开始收费
@Contextualist 看了下 App Store ,的确改名了。还算良心,十四天试用完后可以选择不订阅,用回普通的功能,就相当于原来的 CloudMagic 。
2016-09-14 20:55:22 +08:00
回复了 tinkerer 创建的主题 分享发现 :doge: CloudMagic 改名 Newton Mail 开始收费
作为一个 CloudMagic 的粉丝,我去他们官网博客看了看。大意是说 CloudMagic 是他们发展两步走战略的第一步。现在产品成熟,他们就推出了功能更强大但是同样稳定的付费服务 Newton 。对于 Newton 是否取代 CloudMagic ,官网没有给出明确的说法,但看起来应该是并存的。
2016-08-03 21:14:02 +08:00
回复了 shenxgan 创建的主题 分享发现 google 搜索递归,还是会提示 “您是不是要找: 递归”
2016-07-03 23:48:50 +08:00
回复了 Menci 创建的主题 Markdown Moeditor v0.0.1,简洁的跨平台 Markdown 编辑器
同前 OIer
支持啊,有前途
话说看到库特就看了下 po 主博客。 po 主高一才入 OI 坑,然后还有时间写这个,真是强大!
1  2  3  4  5  6  7  8  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3580 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 31ms · UTC 04:31 · PVG 12:31 · LAX 21:31 · JFK 00:31
Developed with CodeLauncher
♥ Do have faith in what you're doing.