编程面试题

  • 向熊猫DataFrame添加元信息/元数据

    当然,像大多数Python对象一样,您可以将新属性附加到pandas.DataFrame: import pandas as pd df = pd.DataFrame[] df.instrument_name = 'Binky' 但是请注意,虽然可以附加属性的数据帧,操作上数据帧进行(如groupby,piv

  • 如何告诉Python脚本使用特定版本

    您可以在脚本顶部添加一个shebang行: #!usrbinenv python2.7 但这仅在以时执行.my_program.py。 如果以身份执行python my_program.py,则将which python使用返回的任何Python版本。 在

  • 将字节转换为int?

    假设您至少使用3.2,则有一个内置功能: int.from_bytes ( 字节,字节序,*,带符号= False ) … 参数字节必须是类似字节的对象或

  • 在Python中禁用断言

    如何在Python中禁用断言? 有多种方法会影响单个流程,环境或一行代码。 我演示每个。 对于整个过程 使用-O标志(大写O)将禁用进程中的所有断言语句。 例如: $ python -Oc "assert False" $ p

  • 分配给sys.modules [__ name__]后,为什么__name__的值会发生变化?

    发生这种情况是因为您这样做时已覆盖了模块,sys.modules[__name__] = _test因此删除了模块(因为该模块不再有对其的任何引用,并且引用计数器变为零,因此将其删除),但与此同时,解释器仍然具有字节码,因此它仍然可以工作,但是可以通过返回None模块中的每个变量来完成(这是因为pythonNone在删除模块时会将所有变量都设置在模块中)。

  • 在Python中使用difflib比较两个.txt文件

    对于初学者,您需要将字符串传递给difflib.SequenceMatcher,而不是文件: # Like so difflib.SequenceMatcherNone, str1, str2 # Or just read the files in difflib.SequenceMatcherNone, file1.read, file2.read 无论如

  • 以可移植数据格式保存/加载scipy稀疏csr_matrix

    编辑: SciPy 1.19现在具有scipy.sparse.save_npz和a href="https:docs.scipy.orgdoc

  • 在所有Pandas DataFrame列中搜索String并进行过滤

    该Series.str.contains方法需要正则表达式模式(默认情况下),而不是文字字符串。因此str.contains"^"匹配任何字符串的开头。由于每个字符串都有一个开始,因此所有内容都匹配。而是使用str.contains"\^"匹配文字^字符。 要检查每一列,您可以for col in df

  • 用findall捕获组?

    findall 只是返回捕获的组: re.findall'abcdefg123', 'abcdefg123 and again abcdefg123' ['de', '123', 'de', '123'] 相关文档摘录: 返回字符串中模式的所有非重叠匹配项

  • 如何从Python列表中删除重复项并保持顺序?[重复]

    可以使用内置功能对列表进行排序和重复数据删除: myList = sortedsetmyList set 是Python = 2.3的内置函数 a hre

  • 在Python列表中查找某个值的第一个和最后一个索引

    序列具有一种indexvalue返回首次出现的索引的方法-在您的情况下为verts.indexvalue。 您可以对其运行verts[::-1]以找出最后一个索引。在这里,这将是lenverts - 1 - verts[::-1].indexvalue

  • 为什么Numpy中的0d数组不视为标量?

    人们不应该为之苦思。最终对个人的心理健康和长寿更好。 Numpy标量类型的奇怪情况是由于没有一种优雅而一致的方法将1x1矩阵降级为标量类型而产生的。即使从数学上讲它们是同一回事,但它们是由非常不同的代码处理的。 如果您一直在进行大量的科学编码,那么最终您希望maxa可以在各种尺寸甚至标量的矩阵上工作。从数学上讲,这是一件非常明智的事情。但是,对于程序员而言,这意味着Numpy中出现

  • 轴类-以给定单位明确设置轴的尺寸(宽度/高度)

    轴尺寸由图形尺寸和图形间距确定,可以使用设置figure.subplots_adjust。相反,这意味着您可以通过考虑图形间距来设置图形尺寸来设置轴尺寸: import matplotlib

  • 熊猫:减去两个日期列,结果为整数

    您可以将的列dtype timedelta除以np.timedelta641, 'D',但输出不是int,而是float,因为Na

  • 如何在python中使用Selenium和Beautifulsoup解析网站?[关闭]

    假设您在要解析的页面上,Selenium将源HTML存储在驱动程序的page_source属性中。这样,你会加载page_source到BeautifulSoup如下: In [8]: from bs4 import BeautifulSoup In [9]: from selenium import webdriver In [1

  • 如何摆脱BeautifulSoup用户警告?

    错误消息中明确说明了您的问题的解决方案。如下所示的代码未指定XML HTML etc。解析器。 BeautifulSoup ... 为了纠正错误,您需要指定要使用的解析器,如下所示: BeautifulSoup ..., "html.parser" 您也可以根据需要安装第3方解析器。

  • 您如何从C代码调用Python代码?

    我推荐这里详细介绍的方法。首先说明如何执行Python代码的字符串,然后详细说明如何设置Python环境以与C程序交互,从C代码调用Python函数,从C代码操作Python对象,等等。 编辑

  • 等价于基本python中的Numpy.argsort()?[重复]

    我在上面建议了时间,这是我的结果。 首先,功能: def fseq: # http:stackoverflow.comquestions3382352equivalent-of-numpy-argsort-in-basic-python3383106#3383106 #non-lambda version by Tony Veijalainen retur

  • 使用python刮Ajax页面

    首先,可从https:scrapy.readthedocs.orgenlatest获得草率文档。 谈到在抓取Web时处理Ajax。基本上,这个想法很简单: 打开浏

  • 在python-3.6中带有'f'前缀的字符串

    请参阅PEP 498 文字字符串插值 : 从字符串中提取的表达式在出现f字符串的上下文中进行评估。这意味着表达式可以完全访问局部和全局变量。可以使用任何有效的Python表达式,包括函数和方法调用。 因此,对表达式进行评

  • 在程序中使用python(如python -u)中的无缓冲stdout [重复]

    我能想到的最好的方法是: import os import sys unbuffered = os.fdopensys.stdout.fileno, 'w', 0 unbuffered.write'test' test sys.stdout = u

  • Python的标准库中是否有用于平衡二叉树的模块?

    不,stdlib中没有平衡的二叉树。但是,从您的评论看来,您可能还有其他选择: 您说您想要一个BST而不是一个Olog n搜索列表。如果只需要搜索,并且您的数据已经排序,则该bisect模块为列表提供二进制搜索算法。 迈克·德西蒙(Mike DeSimone)推荐了布景和格言,您还解释了为什么列表在算法上太慢。集和字典被实现为具有O

  • Python全局异常处理

    sys.excepthook如果您确实不想使用,可以更改tryexcept。 import sys def my_except_hookexctype, value, traceback: if exctype == KeyboardInterrupt: print "Handler code goes here" else

  • Python窗口激活

    您可以使用win32gui模块来执行此操作。首先,您需要在窗口上获得有效的句柄。win32gui.FindWindow如果您知道窗口类名称或确切名称,则可以使用。如果没有,您可以使用枚举窗口,win32gui.EnumWindows然后尝试找到合适的窗口。 拥有手柄后,即可win32gui.SetForegroundWindow使用手柄调用。它将激活该

  • Argparse:如果存在“ x”,则必需的参数“ y”

    不,argparse中没有任何选项可以构成相互 包含 的选项集。 解决此问题的最简单方法是: if args.prox and args.lport is None or args.rport is None: parser.error"--prox requires --lport and --rport." br

  • Jinja2:在循环内更改变量的值

    也尝试基于字典的方法。似乎不太丑。 {% set vars = {'foo': False} %} {% for item in items %} {% if vars.update{'foo': True} %} {% endif %} {% if vars.foo %} Ok1! {% endif %} {% endfor %} {% if vars.foo %} Ok2! {% en

  • 为什么map在Python 3中返回地图对象而不是列表?

    我想,为什么地图仍然存在的原因 都 当发电机表情也是存在的,是它可以采取多个迭代论点,都环绕在并传递给函数: listmapmin, [1,2,3,4], [0,10,0,10] [0,2,0,4] p

  • 使用python检测Windows中的鼠标单击

    检测程序外部鼠标事件的唯一方法是使用SetWindowsHookEx安装Windows挂钩。该pyHook模块封装的细枝末节。这是一个示例,它将打印每次鼠标单击的

  • 为什么Python程序通常比C或C ++编写的等效程序慢?

    Python是比C更高级的语言,这意味着它从您那里抽象出计算机的详细信息-内存管理,指针等,并允许您以更接近人类思维的方式编写程序。 的确,如果仅衡量执行时间,C代码的运行速度通常比Python代码快10至100倍。但是,如果还包括开发时间,Python通常会胜过C。对于许多项目,开发时间比运行时性能更为重要。较长的开发时间直接转化为额外的成本,较少的功能和较慢的上市时间。 在内部,Python代码执行速度较慢

  • 同时逐行读取两个文本文件

    from itertools import izip with open"textfile1" as textfile1, open"textfile2" as textfile2: for x, y in iziptextfile1, textfile2: x = x.strip y = y.strip print"{0}\t{1}".format

  • 创建Spark DataFrame。无法推断类型的架构:

    SparkSession.createDataFrame,这是发动机罩下使用的,需要一个RDDlist的 Row tuple list dict *或者pandas.DataFrame,除非用模式cod

  • Python请求。403禁止

    该页面似乎拒绝GET了未标识的请求User-Agent。我使用浏览器(Chrome)访问了该页面,并复制User- Agent了GET请求的标题(在开发人员工具的“网络”标签中查看): import requests url = 'http:worldagnetwork.com' headers = {'

  • if语句中“ in”的使用和含义?

    这取决于什么next。 如果是字符串(如您的示例所示),则in检查子字符串。 "in" in "indigo" True "in" in "violet" False "0" in "10" True "1" in "10" True c

  • 在n个时间后如何停止while循环?

    请尝试以下操作: import time timeout = time.time + 60*5 # 5 minutes from now while True: test = 0 if test == 5 or time.time timeout: break test = test - 1 您可能还想在此处添加短

  • 使用BeautifulSoup删除标签,但保留其内容

    我使用的策略是用标签的内容替换标签,如果它们是类型的NavigableString,如果不是,则递归到标签中,并用替换标签的内容NavigableString,等等。 from BeautifulSoup import BeautifulSoup, NavigableString def strip_tagshtml, invalid_tags:

  • 自定义Python列表排序

    它记录在这里。 sort()方法采用可选参数来控制比较。 cmp指定了两个参数(列表项)的自定义比较函数,该函数应返回负数,零数或正数,具体取决于第一个参数是否小于,等于或大于第二个参数:cmp = lamb

  • tkinter:将鼠标滚轮绑定到滚动条

    也许最简单的解决方案是为鼠标滚轮建立全局绑定。然后,无论鼠标下方是哪个窗口小部件,还是具有键盘焦点的窗口小部件,它都将触发。然后,您可以无条件地滚动画布,或者可以聪明地找出应该滚动的窗口。 例如,在Windows上,您将执行以下操作: self.canvas = Canvas... self.canvas.bind_all"MouseWheel", self._on_mou

  • scikit学习DBSCAN内存使用情况

    问题显然是的非标准DBSCAN实现scikit-learn。 DBSCAN不需要距离矩阵。该算法是围绕使用数据库进行设计的,该数据库可以加速regionQuery功能,并有效地返回查询半径内的邻居(空间索引应支持中的此类查询Olog n)。 scikit然而,该实现显然计算了全On^2

  • 使用子进程在Windows上运行Python脚本

    刚刚找到sys.executable-当前Python可执行文件的完整路径,可用于运行脚本(而不是依靠shbang,这显然在Windows上不起作用) import sys import subprocess theproc = subproces

  • 简化链式比较

    在Python中,您可以“链接”比较操作,这仅意味着它们“并”在一起。在您的情况下,将是这样的: if start = x = end: 参考:a href="https:docs.python.o