是否有任何巧妙的技巧将二进制数切成python中的五位数组?
'00010100011011101101110100010111'=> ['00010','00110','10111',...]
编辑:我想编写一个密码/编码器,以便生成"易于通过手机阅读"的令牌.标准的base32编码具有以下缺点:
感谢大家,我能够在20行python中自己动手.我的编码器不使用'I','L','O'和'U',结果序列很难猜测.
去年,我使用Mapnik库(服务器端,位图/平铺)在Web地图上进行了几次实验.现在,我正在尝试使用d3.js的向量,客户端方法复制相同的实验.
我有一张地图(约680个形状),这里zoom很慢而且pan很迟钝(Mike Bostock的这个例子效果很好).我怀疑问题出在zoommove回调中,selectAll("path").attr("d", path)花了太长时间.
function zoommove() {
projection.translate(d3.event.translate).scale(d3.event.scale);
mapa.selectAll("path").attr("d", path);
console.log('zoommove fired...');
}
Run Code Online (Sandbox Code Playgroud)
问题:

数据源采用topojson格式.它被简化了,可能已经太多了,因为有些形状没有关闭:

[UPDATE]
看起来即使在没有简化标志的情况下运行topojson时也会出现打开几何的问题,我还在调查.我会很感激这里的任何线索,文档不是很详细.
我想创建一个可以更改html文档的python脚本,我有点迷茫,不知道从哪里开始,我尝试了几项根本行不通的事情,并且认为它不值得将它们张贴在这里。
问题在于,使用Django,最好编写如下所示的链接:
<link href="{% static 'assets/css/cssfile.css' %}"/>
<script src="{% static 'assets/js/jsfile.js' %}"></script>
<img src="{% static 'assets/images/desktop.png' %}"/>
Run Code Online (Sandbox Code Playgroud)
但是我有一个模板,实际上是几个模板,其中包含大量以常规方式引用的静态资产,如下所示:
<link href="assets/css/cssfile.css" rel="stylesheet"/>
<script src="assets/js/jsfile.js"></script>
<img src="assets/images/desktop.png"/>
Run Code Online (Sandbox Code Playgroud)
因此,我一直在尝试创建一个查找“资产”并编辑该行的脚本,替换href="assets为href="{% static'...,然后' %}在末尾添加。我认为对于使用模板的Django开发人员来说,这将是一个非常有价值的脚本,也许它已经存在于某个地方。
有没有任何自动的方法可以将常规href / src属性转换为使用Django标签?
我编写了一个使用内置函数bin()的程序,但是这个函数在Python 2.6版本中是新的,我想在Python版本2.4和2.5中运行这个应用程序.
2.4的bin()有一些后端吗?
我想从字符串中删除所有奇怪的字符,使其"url safe".因此,我有一个这样的功能:
def urlize(url, safe=u''):
intab = u"àáâãäåòóôõöøèéêëçìíîïùúûüÿñ" + safe
outtab = u"aaaaaaooooooeeeeciiiiuuuuyn" + safe
trantab = dict((ord(a), b) for a, b in zip(intab, outtab))
return url.lower().translate(trantab).strip()
Run Code Online (Sandbox Code Playgroud)
这很好用,但现在我想重用那个功能来允许特殊字符.例如,引号.
urlize(u'This is sóme randóm "text" that í wánt to process',u'"')
Run Code Online (Sandbox Code Playgroud)
...并抛出以下错误:
Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: expected a character buffer object
Run Code Online (Sandbox Code Playgroud)
我试过了,但没有奏效:
urlize(u'text',u'\"')
intab = u"àáâãäåòóôõöøèéêëçìíîïùúûüÿñ%s" , safe
Run Code Online (Sandbox Code Playgroud)
--EDIT-- 完整的功能看起来像这样
def urlize(url, safe=u''):
intab = u"àáâãäåòóôõöøèéêëçìíîïùúûüÿñ" + safe
outtab = u"aaaaaaooooooeeeeciiiiuuuuyn" + safe
trantab = …Run Code Online (Sandbox Code Playgroud) 如果您需要对值应用一些测试,这是在关于迭代字典键的首选样式的挑剔讨论中提出的。我正在比较[k for k in d if d[k] == 1]对[k for k, v in d.items() if v == 1].
看起来字典查找在 Python 3.4 中更昂贵:
$ python -m timeit -n 1000000 \
-s 'd={k:v for v, k in enumerate("abcdefghijhklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")}' \
'[k for k in d if d[k] == 1]'
1000000 loops, best of 3: 2.17 usec per loop
$ python -m timeit -n 1000000 \
-s 'd={k:v for v, k in enumerate("abcdefghijhklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")}' \
'[k for k, v in d.items() …Run Code Online (Sandbox Code Playgroud) python ×5
backport ×1
binary ×1
built-in ×1
d3.js ×1
dictionary ×1
dictview ×1
gis ×1
html ×1
python-2.7 ×1
python-3.x ×1
slice ×1
string ×1
topojson ×1
translate ×1