本章要讲的内容是另外一种内置的类型,叫字典。字典是 Python 最有特色的功能之一;使用字典能构建出很多高效率又很优雅的算法。 11.1 字典是一种映射 字典就像是一个列表一样,但更加泛化了,是列表概念的推广。在列表里面,索引必须是整数;而在字典里面,你可以用几乎任何类型来做索引了。 (译者注:从字符串 string,到列表 list,再到字典 dictionary,Python 这个变量类型就
Internet 并不安全。 现如今,每天都会出现新的安全问题。我们目睹过病毒飞速地蔓延,大量被控制的肉鸡作为武器来攻击其他人,与垃圾邮件的永无止境的军备竞赛,以及许许多多站点被黑的报告。 作为 web 开发人员,我们有责任来对抗这些黑暗的力量。每一个 web 开发者都应该把安全看成是 web 编程中的基础部分。不幸的是,要实现安全是困难的。攻击者只需要找到一个微小的薄弱环节,而防守方却要保护得面
我目前正在尝试将以下IEEE 754十六进制数0x805c00f0转换为其十进制等效值,根据在线转换器,该等效值约为-8.44920195816662938E-39。在纸上一步一步地计算出来,我得到以下结果: 805c00f0=1000 0000 0101 1100 0000 1111 0000最左边的1表示数字为负数。接下来的8位000 0000 0表示减去偏差后的指数为-127。剩下的是101
这个BigDecimalSorting的问题是什么?代码将数字作为字符串,然后将其转换为BigDecimal,然后排序并打印排序后的BigDecimals。 样本输入:9 -100 50 0 56.6 90 0.12 .12 02.34 000.000 预期产量:9056.6502.340.12.12000.000-100
如果你到这里来是为了找一个 Perl 的编译器,你可能很奇怪地发现你已经有一个了 ——你的perl 程序(通常是 /usr/bin/perl)已经包含一个 Perl 编译器。这个 东西可能不是你想要的,如果不是你想象的东西,你可能会很开心地得知我们还提供 代码生成器(也就是那些要求意义严格的人所谓的“编译器”),我们将在本章讨论 那些东西。但是首先我们想讲讲我们眼中的编译器是什么。本章不可避免地要
并行编程要比看上去要难得多。假设我们从一个烹饪书拿出一条菜谱,然后把它转换成 某种几十个厨师可以同时工作的东西。那么你有两个实现方法。 一个方法是给每个厨师一个专用的厨房,给它装备原料和器具。对于那些可以很容易 分解的菜谱,以及那些可以很容易从一个厨房转到另外一个厨房的食物而言,这个方法 很好用,因为它把不同厨师分隔开,互不影响。 另外,你也可以把所有厨师都放在一个厨房里,然后让他们把菜烧出来,让
对象非常酷,但有时候它有点太酷了。有时候你会希望它表现得少象一点对象而更象普通的 数据类型一点。但是实现这个却有问题:对象是用引用代表的引用,而引用除了当引用以外 没什么别的用途。你不能在引用上做加法,也不能打印它们,甚至也不能给它们使用许多 Perl 的内建操作符。你能做的唯一一件事就是对它们解引用。因此你会发现自己在写许多 明确的方法调用,象: print $object->as_s
模块是 Perl 里重复使用的基本单元。在它的外皮下面,它只不过是定义在一个同名文件 (以.pm结尾)里面的包。本章里,我们将探究如何使用别人的模块以及创建你自己的 模块。 Perl 是和一大堆模块捆绑在一起安装的,你可以在你用的 Perl 版本的 lib 目录里找到 它们。那里面的许多模块将在第三十二章,标准模块,和第三十一章,用法模块里描述。 所有标准模块都还有大量的在线文档,很可能比这本书更
欢迎阅读另一个 3D Matplotlib 教程,会涉及如何绘制三维散点图。 绘制 3D 散点图非常类似于通常的散点图以及 3D 线框图。 一个简单示例: from mpl_toolkits.mplot3d import axes3d import matplotlib.pyplot as plt from matplotlib import style style.use('ggplot') f
在这篇 Matplotlib 教程中,我们将介绍如何创建实时更新图表,可以在数据源更新时更新其图表。 你可能希望将此用于绘制股票实时定价数据,或者可以将传感器连接到计算机,并且显示传感器实时数据。 为此,我们使用 Matplotlib 的动画功能。 最开始: import matplotlib.pyplot as plt import matplotlib.animation as animati
在 Matplotlib 教程中,我们将介绍如何在 Matplotlib 中创建开,高,低,关(OHLC)的 K 线图。 这些图表用于以精简形式显示时间序列股价信息。 为了实现它,我们首先需要导入一些模块: import matplotlib.ticker as mticker from matplotlib.finance import candlestick_ohlc 我们引入了ticker,
原文:10 Minutes to pandas 来源:【原】十分钟搞定pandas 官方网站上《10 Minutes to pandas》的一个简单的翻译,原文在这里。这篇文章是对 pandas 的一个简单的介绍,详细的介绍请参考:秘籍 。习惯上,我们会按下面格式引入所需要的包: In [1]: import pandas as pd In [2]: import numpy as np In [
十四、 其它选项 本节描述一些重要的(和并不重要)的选项,这些选项 不适合其它任何地方。 -6 (启用 IPv6 扫描) 从 2002 年起,Nmap 提供对 IPv6 的一些主要特征的支持。ping 扫描(TCP-only)、 连接 扫描以及版本检测都支持 IPv6。除增加-6 选项外, 其它命令语法相同。当然,必须使 用 IPv6 地址来替换主机名,如 3ffe:7501:4819:2000:
英文原版并没有包含附录部分,只有一个索引部分。中文版增加附录部分主要用于收录一些和本书相关的内容,比如英文原版的勘误(有些读者可能会对照中文和英文原阅读)、英文作者和中文译者、译文授权等内容。以后还可能会考虑增加一些习题解答相关的内容。 需要特别说明的是,中文版附录并没有包含英文原版的索引信息。因为英文原版的索引信息主要是记录每个索引所在的英文页面位置,而中文版是以GitBook方式组织的html
Maurice Wilkes,第一个存储程序计算机EDSAC的设计者,1949年他在实验室爬楼梯时有一个顿悟。在《计算机先驱回忆录》(Memoirs of a Computer Pioneer)里,他回忆到:“忽然间有一种醍醐灌顶的感觉,我整个后半生的美好时光都将在寻找程序BUG中度过了”。肯定从那之后的大部分正常的码农都会同情Wilkes过分悲观的想法,虽然也许会有人困惑于他对软件开发的难度的天