Questions tagged «python»

Python是一种多范式,动态类型的多用途编程语言。它旨在快速学习,理解和使用并强制使用干净统一的语法。请注意,Python 2自2020年1月1日起已不再受支持。不过,对于特定于版本的Python问题,请添加[python-2.7]或[python-3.x]标签。使用Python变体或库(例如Jython,PyPy,Pandas,Numpy)时,请将其包含在标签中。

7
从另一个列表中删除一个列表中出现的所有元素
假设我有两个列表,l1和l2。我想表演l1 - l2,返回l1not中的所有元素l2。 我可以想到一个幼稚的循环方法来执行此操作,但这实际上效率很低。什么是Python高效的方法? 例如,如果我有l1 = [1,2,6,8] and l2 = [2,3,5,8],l1 - l2应返回[1,6]
365 python  list 

20
如何找到所有出现的子串?
Python具有string.find()和string.rfind()获取字符串中子字符串的索引。 我想知道是否有类似的东西string.find_all()可以返回所有找到的索引(不仅是开头的第一个,还是结尾的第一个)。 例如: string = "test test test test" print string.find('test') # 0 print string.rfind('test') # 15 #this is the goal print string.find_all('test') # [0,5,10,15]
365 python  regex  string 


18
网站可以检测到何时在chromedriver中使用硒吗?
我一直在使用Chromedriver测试Selenium,但我注意到有些页面可以检测到您正在使用Selenium,即使根本没有自动化。即使当我只是通过Selenium和Xephyr使用chrome手动浏览时,我也经常得到一个页面,指出检测到可疑活动。我已经检查了用户代理和浏览器指纹,它们与普通的chrome浏览器完全相同。 当我以普通的chrome浏览到这些站点时,一切正常,但是当我使用Selenium时,我被检测到。 从理论上讲,chromedriver和chrome在任何Web服务器上看起来都应该完全相同,但是它们可以通过某种方式检测到它。 如果您想要一些测试代码,请尝试以下方法: from pyvirtualdisplay import Display from selenium import webdriver display = Display(visible=1, size=(1600, 902)) display.start() chrome_options = webdriver.ChromeOptions() chrome_options.add_argument('--disable-extensions') chrome_options.add_argument('--profile-directory=Default') chrome_options.add_argument("--incognito") chrome_options.add_argument("--disable-plugins-discovery"); chrome_options.add_argument("--start-maximized") driver = webdriver.Chrome(chrome_options=chrome_options) driver.delete_all_cookies() driver.set_window_size(800,800) driver.set_window_position(0,0) print 'arguments done' driver.get('http://stubhub.com') 如果浏览stubhub,您将在一个或两个请求中被重定向和“阻止”。我一直在对此进行调查,无法弄清楚他们如何分辨用户正在使用Selenium。 他们是怎么做到的呢? 编辑更新: 我在Firefox中安装了Selenium IDE插件,当我在普通的Firefox浏览器中仅使用附加插件访问stubhub.com时就被禁止了。 编辑: 当我使用Fiddler来回查看HTTP请求时,我注意到“假浏览器”的请求通常在响应标头中具有“ no-cache”。 编辑: 像这样的结果是否有办法从Javascript检测到我在Selenium Webdriver页面中,这表明应该没有办法检测何时使用Webdriver。但这证据表明并非如此。 编辑: 该站点将指纹上载到他们的服务器,但是我检查了一下,硒的指纹与使用chrome时的指纹相同。 编辑: …

12
在IPython中重新加载子模块
目前,我正在处理一个包含子模块并使用numpy / scipy的python项目。Ipython用作交互式控制台。不幸的是,我对现在使用的工作流程不是很满意,请多多指教。 在IPython中,该框架是通过一个简单的import命令加载的。但是,通常有必要在框架的子模块之一中更改代码。至此,已经加载了一个模型,并且我使用IPython与之交互。 现在,该框架包含许多相互依赖的模块,即,在最初加载该框架时,主模块正在导入和配置子模块。仅当使用重新加载模块时,才执行对代码的更改reload(main_mod.sub_mod)。这很麻烦,因为我需要使用完整路径分别重新加载所有更改的模块。如果reload(main_module)还重新加载所有子模块,但又不重新加载numpy / scipy ,将非常方便。
363 python  ipython 






2
熊猫合并101
如何执行与熊猫(LEFT| RIGHT| FULL)(INNER| OUTER)的联接? 合并后如何为缺失的行添加NaN? 合并后如何去除NaN? 我可以合并索引吗? 与大熊猫交叉交往? 如何合并多个DataFrame? merge?join?concat?update?WHO?什么?为什么?! ... 和更多。我已经看到这些重复出现的问题,询问有关熊猫合并功能的各个方面。如今,有关合并及其各种用例的大多数信息都分散在数十个措辞不好,无法搜索的帖子中。这里的目的是整理后代的一些更重要的观点。 本QnA是下一章有关大熊猫习语的有用的用户指南中的下一部分(请参阅有关透视的这篇文章和有关串联的这篇文章,我将在以后进行探讨)。 请注意,本文并非旨在代替文档,因此也请阅读!一些示例是从那里获取的。
362 python  pandas  join  merge 

6
解释Python的'__enter__'和'__exit__'
我在某人的代码中看到了这一点。这是什么意思? def __enter__(self): return self def __exit__(self, type, value, tb): self.stream.close() from __future__ import with_statement#for python2.5 class a(object): def __enter__(self): print 'sss' return 'sss111' def __exit__(self ,type, value, traceback): print 'ok' return False with a() as s: print s print s


12
在Python中连接字符串的首选方法是什么?
由于string无法更改Python ,因此我想知道如何更有效地连接字符串? 我可以这样写: s += stringfromelsewhere 或像这样: s = [] s.append(somestring) later s = ''.join(s) 在写这个问题时,我找到了一篇很好的文章,谈论这个话题。 http://www.skymind.com/~ocrow/python_string/ 但是它在Python 2.x中,所以问题是在Python 3中会有所改变吗?


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.