编程面试题

  • 如何使用urllib发送cookie

    为此urllib,您需要: 构造一个Cookie对象。构造函数未在文档中记录,但是如果您helphttp.cookiejar.Cookie在交互式解释器中,则可以看到

  • 给定N个生成器,是否可以创建一个在并行过程中运行它们并生成这些生成器的zip的生成器?

    可以花些力气来获得这样的“ 统一并行生成器(UPG) ”(尝试命名),但是正如@jasonharper所述,您肯定需要在子进程内组装子生成器,因为运行发电机不能腌制。 下面的模式是可重用的,只有生成器函数gen是针对此示例定制的。该设计a href="https:docs.python.org3.8librarymultiprocessi

  • django orm和postgresql的累积(运行)总和

    从Dima Kudosh的答案中并基于https:stackoverflow.coma57007442240489,我必须执行以下操作:我PARTITION BY在sql中

  • 在列表列表中查找最常出现的配对

    结合使用collections.Counterdict itertools.combinations: from collections import Counter from itertools import combinations d = Counter for sub in a: if lena 2: con

  • ImportError:模块在那里时没有命名模块

    问题是这python_lib不在Python路径中。Python 2和3的行为相同。 通常,请勿从Python包内部(内部)运行脚本,而应从顶级目录运行它

  • 使用pickle将巨大的bigram词典保存到文件

    Pickle仅用于编写完整的(小型)对象。您的词典甚至太大,甚至无法保存在内存中,最好改用数据库,这样您可以一次而不是一次存储和检索条目。 您可以从Python使用的一些良好且易于集成的单一文件数据库格式是SQLite或a href="https:docs.python.org3librarydb

  • 使用gdata-python-client访问Google图书搜索数据API的SyntaxError

    我发现我需要在gdata客户端中禁用SSL才能使其正常工作: ... gd_client.ProgrammaticLogin gd_client.ssl = False ...

  • 发送箭头键到Popen

    我发现有人试图解决相反的问题,创建了一个可以识别箭头键的程序:使用stdin识别箭头键 我还找到了 a href="http:compgroups.netcomp.unix.programmerhow-to-send-up- arrow

  • Python将字符串对象转换为字典

    不要使用eval。如果您确定该字符串将始终包含有效的Python dict,请使用ast.literal_eval。这工作很像eval,但如果表达式是有效的,只计算dict,list等,如果不是抛出一个例外。这比尝试在运行时评估可能包含任意代码的字符串安全得多。

  • 带有cookie的urllib2

    import urllib2 opener = urllib2.build_opener opener.addheaders.append'Cookie', 'cookiename=cookievalue' f = opener.open"http:example.com"

  • 如何在Mako模板中使用字典?

    class Bunchdict: def __init__self, d: dict.__init__self, d self.__dict__.updated def to_bunchd: r = {} for k, v in d.items: if isinstancev, dict: v = to_b

  • Python模糊匹配列表性能中的字符串

    编写矢量化操作并避免循环可显着提高速度 导入必要的包裹 from fuzzywuzzy import fuzz import pandas as pd import numpy as np 从第一个列表创建数据框 dataframecolumn = pd

  • 用相关列的平均值替换数据框中的NaN值的函数

    NaN用各自的平均值填充每一列: df.applylambda x: x.fillnax.mean

  • 搜索和替换操作

    尝试这个: str = "http:farm6.static.flickr.com51495684108566_aed8b9b52d_s.jpg" str = str.replace"_s","_m" 如果要确保仅更改了las部分,并且知道所有.jpg文件都可以使用: str = "http:farm

  • Python-查找unicode / ascii问题

    答案实际上很简单:一旦从文件中读取数据,就使用文件的编码将其转换为unicode,并处理UnicodeDecodeError异常: try: # decode using utf-8 use ascii if you want unicode_data = str_data.decode"utf-8" except UnicodeDecodeError, e:

  • 计算大型矩阵特征值的最快方法

    @HighPerformanceMark在注释中是正确的,因为numpy背后的算法(LAPACK等)是一些最好的,但可能不是最先进的数字算法,用于对角化整个矩阵。但是,如果您具有以下条件,则可以 大大 加快操作速度: 稀疏矩阵 如果您的矩阵是稀疏的,即填充条目的数量为k,kN**2则应查看a href="http:docs.s

  • 使用Python 3从Twitter API检索请求令牌

    我所做的更改的概述: 我换出binascii.b2a_base64了base64.standard_b64encode 我使用该bytes.decode'ascii'方法将字节转换为字符串。str()似乎将b附加到字符串。 我将参数的顺序固定为hmac.newcode

  • 对于Python沙箱,rexec是否可以替代?

    您可能需要提供自己__import__的模块,以防止包含任何您认为“滥用I O或处理器内存资源”的模块。 您可能要从pypy开始,并创建自己的解释器,该解释器会限制资源的使用。

  • Python循环vs理解列表vs映射的副作用(即不使用返回值)

    我认为Abhijit答案的这种变化最好,同时也是我的第4点的变化。 for r in res: r.updater.pop'some_key', {} 具有使用规则for循环的所有优点 很容易理解 只需要两行代码 不需要ifcod

  • 从Ruby到Python:Crawlers [关闭]

    好 主要是,您必须将“抓取器” 抓取器(将从Web服务器下载文件数据的python库程序函数)和将读取此数据并解释数据的解析器分开。就我而言,我必须抓取并获得一些“公开”的政府信息,但这些信息对下载数据不友好。对于这个项目,我使用了scrapy [1]。 主要是设置“ starter_urls”,即我的机器人将抓取获取的URL,并在使用函数“解析器”检索解析此数据之

  • 换行符和破折号在Jinja中无法正常工作

    该-删除之间的所有空格 那边 的神社的标签和第一个字符。您-在标签的“内部”使用,因此空格被删除直到-字符为止,单词string之后则将两者合并在一起。删除一个或另一个。 例如,您可以删除文本开头和结尾的多余换行符,并-从开始标记的内侧删除:

  • 如何在wx中制作自定义按钮?

    这是一个骨架,您可以用来绘制完全自定义的按钮,其构想取决于它的外观或行为 class MyButtonwx.PyControl: def __init__self, parent, id, bmp, text, **kwargs: wx.PyControl.__init__self,parent, id, **kwargs self.Bindwx.EVT_

  • 使用Python和Rpy2进行统计测试(Kolmogorov和T检验)

    如它所说:“ SyntaxError:关键字不能是表达式(第1行)。 ” 在Python中,符号不能包含字符“。”。 from rpy2.robjects.packages import importr from rpy2.robjects.vectors import StrVector stats = importr"stats" stats.t_testmethod

  • 将Google结果对象(纯js)转换为Python对象

    gh,那确实很烦人。这是JavaScript文字,但毫无意义的不是JSON。 从理论上讲,您应该能够json.decoder.JSONDecoder从Python stdlib(或simplejson2.6之前的版本,相同)中导入并对其进行子类化,然后将该子类传递给以json.loads覆盖解码器行为。实际上,这实际上是不可行的,因为code

  • 使用请求登录Wordpress-Python3

    您的代码还可以,但是您应该将发布数据提交到wp-login.php,而不是wp-admin wp_login = 'http:ipwordpresswp-login.php' wp_admin = 'http:ipwordpresswp-admin' username = 'admin' password = 'admin' with

  • 将cx_Oracle部署到各种版本的Oracle Client

    如果要构建多个cx_Oracle版本(例如:cx_Oracle10g,cx_Oracle11g等),则需要修改cx_Oracle setup.py脚本。脚本的最后一步是对setup;的调用。第一个参数是要构建的模块的名称。您所需要做的就是将更"cx_Oracle"改为"cx_Oracle" + ver,其中ver是10g,code

  • 如何使Python分析器正常工作?

    实际上,配置文件 pstats模块的API看起来很特别。我认为该行ps.print_results应该是通用行,即应写为ps.call_some_methods_to_print_the_result,但这确实不清楚。至于dump_stats它实际上保存了一个二进制文件,以后可以重新加载。 这是一个对我有用的示例:

  • 如何使用Eyed3从python中的.mp3文件获取细节(标题,艺术家)

    标题和艺术家可通过Tag返回值的访问器功能获得。下面的示例显示了如何使用getArtist和getTitle方法获取它们。 import eyed3 tag = eyed3.Tag tag.link"somefile.mp3" print tag.getArtist print tag.getTit

  • 查询父模型时可以过滤关系的内容吗?

    关系默认情况下是一个简单的相等表达式:Parent.id == ForeignKey.id。您不能在查询时更改关系的内容*,但是可以创建另一个仅选择所需项目的关系。 class PKMoviedb.Model: # ... future_show_times = db.relationship lambda: ShowTime, pr

  • Python:抑制进入命令行的错误?

    捕获HTMLParseError是否对您有用?如果test.py是python文件的名称,它将传播到该位置,因此应该传播。 这是一个如何抑制此类错误的示例。您可能需要对其进行一些调整以匹配您的代码。 try: # Put parsing code here except HTMLParseError: pass 您也

  • 从python中的单词列表返回随机单词

    随机模块定义了choice(),它可以执行您想要的操作: import random words = [line.strip for line in open'etcdictionaries-commonwords'] printrandom.choicewords 还要注意,这假设每个单词本身都位于文件中的一行上。如果文件很大,或者您经常执行此操作,

  • Python全局变量/作用域混淆[重复]

    当变量在等号的左侧时,python将创建一个局部变量。当变量位于等号的右侧时,python将尝试查找局部变量,如果他找不到局部变量,则它将使用全局变量。在您的示例中,z位于等号的右侧和左侧,以避免歧义python引发错误。您需要使用global语法来避免这种情况: x = 2 y = 3 z=17 def add_nums: global z y = 6

  • nolearn用于多标签分类

    正如Francisco Vargas所提,nolearn.dbn已弃用,您应该改nolearn.lasagne而使用(如果可以的话)。 如果要在千层面中进行多标签分类,则应将regression参数设置为True,以定义验证分数和自定义损失。 这是一个例子: import n

  • 对matplotlib中的不同子图使用相同的颜色栏

    看下面的例子: import matplotlib.pyplot as plt fig, axes = plt.subplotsnrows=3, ncols=3 for ax in axes.flat: im = ax.imshownp.random.random6,6, interpolation='nearest', cmap='gnuplot', vmin=0, vmax=

  • 打印出斐波那契系列

    Python根据 绑定行为 确定编译时变量的范围。如果您分配一个名称,或将其用作import目标(以及其他几种方式),则将名称绑定在范围中。 您绑定到该函数n_1并n_2在其中fib;两者都被分配给。这使这两个名称在中成为 本地 名称fib,Pyth

  • 如何在Python中使用json.dumps()将整数打印为十六进制字符串

    一种可能的方法是拥有一个serialize函数,该函数可以 即时 生成字典的副本并使用标准json模块来转储字符串。初步实现如下所示: import json def serializedata: _data = {} for k, v in data.items: if isinstancev, i

  • 如何减少python中大列表使用的内存

    您应该将文件对象用作迭代器,以减少文件的内存使用量。然后,您可以分块而不是全部处理数据库列表。例如: results = [] database = [] for line in open"databasedb.hdb": line = line.split':' #You could then manage database in chunks? database.append

  • 如何检查是否可以在MS XP / Vista的给定目录内创建文件?

    我最近写了一个应用程序,通过了一组测试来从Microsoft获得ISV状态,并且我还添加了该条件。我的理解是,如果用户是Least Priveledge,那么他将没有权限写入系统文件夹。因此,我按照Ishmaeel的描述解决了这个问题。我尝试创建文件并捕获异常,然后通知用户他无权将文件写入该目录。 以我的理解,特权最低的用户将没有必要的权限来写入这些文件夹,如果他拥有,那么他不是特权最低的用户。 b

  • 按数字对字母排序

    如果您没有ifelifelse定义多个检查,而是定义了字典grade- value和sign-value ,该怎么办?然后,在按键功能中,grade_to_numeric_marks只需将每个年级的基点和每个符号的点相加(+-或为空)。 例如(您可能需要调整每个年级的值一点点符号): points = {'A':

  • OS X卸载distutils已安装项目

    由于没有关于已安装文件的元数据,因此我找到了手动删除文件的最简单方法。只需检索模块的目录(我指的是:检索python模块路径),然后删除文件夹以及随附的.egg-info文件。然后安装不带–update标志的所需numpy版本。 di