Tag: python

迭代时修改列表

l = range(100) for i in l: print i, print l.pop(0), print l.pop(0) 上面的python代码给出了与预期完全不同的输出。 我想循环的项目,以便我可以跳过一个项目,而循环。 请解释。

将列表打印为表格数据

我对Python非常陌生,现在我正在努力将我的数据格式化为打印输出。 我有一个用于两个标题的列表,以及一个应该是表格内容的matrix。 像这样: teams_list = ["Man Utd", "Man City", "T Hotspur"] data = np.array([[1, 2, 1], [0, 1, 0], [2, 4, 2]]) 请注意,标题名称不一定是相同的长度。 尽pipe如此,数据条目都是整数。 现在,我想用表格的forms来表示,如下所示: Man Utd Man City T Hotspur Man Utd 1 0 0 Man City 1 1 0 T Hotspur 0 1 2 我有一个预感,必须有一个这样的数据结构,但我找不到它。 我已经尝试使用字典和格式化打印,我已经尝试了与缩进循环,我已经尝试打印为string。 我相信肯定有一个非常简单的方法来做到这一点,但由于缺乏经验,我可能会错过它。

Scrapy可以用来从使用AJAX的网站上抓取dynamic内容吗?

我最近一直在学习Python,并且正在帮助我build立一个networking刮板。 这根本就不是什么花哨的东西; 它的唯一目的是从一个博彩网站获取数据,并将这些数据存入Excel中。 大部分的问题都是可以解决的,而且我有一个很好的小混乱。 不过,我在一个问题上遇到了很大的障碍。 如果一个网站载入一张马匹表并列出当前的博彩价格,这个信息不在任何源文件中。 线索是这个数据有时是活的,数字从一些远程服务器显然更新。 在我的电脑上的HTML只是有一个漏洞,他们的服务器正在推动我所需要的所有有趣的数据。 现在,我对dynamic网页内容的使用经验很less,所以这件事情让我头脑不清。 我认为Java或Javascript是一个关键,这经常popup。 刮板只是一个赔率比较引擎。 有些网站有API,但是我不需要这些API。 我正在Python 2.7中使用scrapy库 如果这个问题太开放了,我会道歉的。 简而言之,我的问题是:scrapy如何被用来刮掉这个dynamic数据,以便我可以使用它? 这样我可以实时刮这个赔率数据吗? 欢呼的人:)

Python中的string比较:is vs. ==

我注意到我正在写的一个Python脚本是松鼠行事,并追溯到一个无限循环,其中循环条件是while line is not '' 。 在debugging器中运行它,事实certificate该行实际上是'' 。 当我把它改成!=''而is not '' ,它工作正常。 另外,通常认为只要使用'=='默认情况下更好,即使比较int或布尔值? 我一直喜欢用'是',因为我觉得它更美观和pythonic(这就是我陷入这个陷阱…),但我想知道是否只是为了当你关心find两个具有相同ID的对象。

Javascript的等效Python的zip函数

是否有一个Python的zipfunction的JavaScript等价物? 也就是说,给定两个长度相等的数组创build一个数组对。 例如,如果我有三个看起来像这样的数组: var array1 = [1, 2, 3]; var array2 = ['a','b','c']; var array3 = [4, 5, 6]; 输出数组应该是: var output array:[[1,'a',4], [2,'b',5], [3,'c',6]]

为什么+ =在列表上意外行为?

Python中的+=运算符似乎在列表中意外地运行。 谁能告诉我这里发生了什么? class foo: bar = [] def __init__(self,x): self.bar += [x] class foo2: bar = [] def __init__(self,x): self.bar = self.bar + [x] f = foo(1) g = foo(2) print f.bar print g.bar f.bar += [3] print f.bar print g.bar f.bar = f.bar + [4] print f.bar print g.bar f = foo2(1) g = […]

从类定义中的列表理解访问类variables

如何从类定义中的列表理解中访问其他类variables? 以下Python 2中的工作,但在Python 3中失败: class Foo: x = 5 y = [x for i in range(1)] Python 3.2给出的错误: NameError: global name 'x' is not defined 尝试Foo.x也不起作用。 任何想法如何在Python 3中做到这一点? 一个更复杂的激励例子: from collections import namedtuple class StateDatabase: State = namedtuple('State', ['name', 'capital']) db = [State(*args) for args in [ ['Alabama', 'Montgomery'], ['Alaska', 'Juneau'], # … ]] 在这个例子中, […]

在Windows 7上添加Pythonpath

我一直在试图添加Python的path到Windows 7的命令行,但无论我尝试的方法,似乎没有任何工作。 我已经使用了set命令,我试过通过编辑环境variables提示符来添加它。 更进一步,如果我在命令行上运行set命令,它会列出这个 python = c:\python27 但它仍然不能识别Python命令。 阅读文档和各种其他来源似乎没有帮助。 编辑:只是为了进一步澄清,我已经在编辑环境提示中追加了Python可执行文件的path到PATH。 似乎没有工作。

正确的方式写入文件?

我习惯做print >>f, "hi there" 但是,似乎print >>已被弃用。 什么是build议的方式来做上面的线? 更新 :关于所有与"\n"答案…这是通用的还是Unix特有的? IE,我应该在Windows上做"\r\n"吗?

星运营商是什么意思?

可能重复: * args和** kwargs是什么意思? *运算符在Python中的含义是什么,比如像zip(*x)或f(**k)这样的代码? 翻译人员在内部如何处理? 它会影响性能吗? 是快还是慢? 什么时候有用,什么时候不是? 应该在函数声明还是在调用中使用?