编程面试题

  • 为什么pandas.DataFrame.apply打印出垃圾?

    它看起来像bug,因此已打开Issue 17487。 对我来说,添加tolist: print df.applylambda x: [x.values.tolist] a [[1, 2]] b [[2, 3]] dty

  • 如何创建带有瓦片周围框架的seaborn.heatmap()?

    sns.heatmap(数据集,线宽= 1,线色=’黑色’)

  • 在pylab模式下绘制矩形(add_patch)

    在这种pylab模式下,即无需使用图形,轴,子图 pylab框架中也存在图形,轴和子图。如果我使用的是pylab接口,则只需subplot111在其中扔一个,然后使用即可sp.add_patchRectangleetc。但是您也可以使用gca和来获取当前的轴图形code

  • 如何覆盖键盘中断?(蟒蛇)

    看一下信号处理程序。CTRL- C对应于SIGINT(posix系统上的2号信号)。 例: #!usrbinenv pyt

  • “ add to set”在Java中返回一个布尔值-python呢?

    在Python中,该set.add方法不返回任何内容。您必须使用not in运算符: z = set if y not in z: # If the object is not in the list yet... print something z.addy 如果 确实 需要在添加对象

  • 如何在Jinja 2中使用3rd party应用模板标签?

    根据棺材文档,您将必须将所有自定义django模板标签重写为自定义Jinja2扩展名。 您还可以使用jinja2宏功能来模拟Django的模板标签。最明显的区别是对于Jinja2宏,有必要通过模板上下文提供所有上下文数据,而在Django标签中,您可以使用其他方式(例如从数据库加载或调用其他Python库)访问数据。p

  • 具有通配符支持的Python Windows文件复制

    以下代码提供了一个可移植的实现。 请注意,我使用的是iglob(在Python 2.5中添加了),它创建了一个生成器,因此它不会首先加载内存中的整个文件列表(glob会这样做)。 from glob import iglob from shutil import copy from os.path import join def copy_filessrc_glob, dst_folder

  • 在Python中将字符串转换为列表

    要将Python字符串转换为列表,请使用str.split方法: '1000 2000 3000 4000'.split ['1000', '2000', '3000', '4000'] split 有一些选项:查找它们以供高级使用。 您还可以readlines

  • 泡菜:不安全还是不快?

    设计中容易在生产代码中使用pickle。任意代码可以被执行 ,同时 取储存。您可以安全地仅释放来自可信来源的数据。 切勿挑剔从不可信或未经身份验证的来源收到的数据。 实际应用示例请参见此处。 至于

  • 设置sqlite临时存储目录

    您所指的环境变量确实是sqlite所要查找的内容,但在Windows中而不是UNIX中。 在Unix中,您需要设置的环境变量TMPDIR如源代码所示: static const char *unixTempFileDirvoid{ static const char *azDirs[] = { 0, 0, "vartmp",

  • 使用Numpy数组作为查找表

    一些示例数据: import numpy as np lookup = np.array[[ 1. , 3.14 , 4.14 ], [ 2. , 2.71818, 3.7 ], [ 3. , 42. , 43. ]] a = np.array[[

  • Pyspark py4j PickleException:“预期的零参数用于构造ClassDict”

    我遇到了与使用MLlib相同的错误,结果发现我在其中一个函数中返回了错误的数据类型。现在,在对返回值进行简单的强制转换之后,它就可以工作。这可能不是您要寻找的答案,但这至少是要遵循的方向的提示。

  • Why is python list comprehension sometimes frowned upon?

    List comprehensions are used for creating lists, for example: squares = [item ** 2 for item in some_list] For loops are better for doing something with the elements of a l

  • 为什么有时会不理解python列表理解?

    列表推导用于 创建 列表,例如: squares = [item ** 2 for item in some_list] 对于循环,使用列表(或其他对象)的元素更好 些 : for item in some_list: printitem 人们通常不理解使用

  • 在Theano中定义关于张量的梯度

    总结调查结果: 分配grad_var = codes[idx],然后创建一个新变量,例如: subgrad = T.set_subtensorcodes[input_index], codes[input_index] - learning_rate*del_codes[input_index] 然后打电话 train_codes = func

  • 我无法连接到https女服务员wsgi服务器

    服务员实际上不支持解码https请求。支持https的唯一方法是将女服务员放在反向代理(例如nginx)后面。然后,您允许nginx解密请求并将其传递给女服务员。这里的问题是女服务员现在认为它正在处理一个http请求,因为那是从nginx看到的。该url_scheme设置用于告诉女服务员所有进入女服务员的请求实际上都是https,然后可以将其转发到应用程序,该程序使用该事实来帮助您的应用程序使用https方案而不是htt

  • 如何在我的Python Fabric`fabfile.py`中的函数中正确设置`env.hosts`?

    @Chris,您看到此行为的原因是因为主机列表是 在 调用task函数 之前 构造的。因此,即使您要env.hosts在函数内部进行更改,也要使它生效没有为时已晚。 而命令fab setenv:foo mycmd:bar会产生您所期望的结果: $ fab setenv:foo mycmd:ba

  • ImportError:无法在新安装中导入名称“ opentype”

    看来 pyasn1 存在问题,因此您可以尝试安装较新的版本(最新版本为 0.4.2 ),甚至可以通过以下方式手动重新安装它: sudo apt-get --reinstall install python-pyasn1 python-pyasn1-modules 如果您在 virtualenv

  • 使用pyenv安装Python 3后无法导入tkinter

    这个问题似乎使用此描述的方法可以解决,现在岗位: 首先卸载Python 3.4.2 :pyenv uninstall 3.4.2,然后 跑 sudo apt-get install tk-dev 并重新安装

  • 查找python列表之间的交集/差异

    列表理解将起作用。 a = ['when', 3, 'why', 4, 'throw', 9, 'send', 15, 'you', 1] b = ['the', 'when', 'send', 'we', 'us'] filtered = [i for i in a if not i[0] in b] printfiltered ['why', 4, 't

  • 如何对当前进程进行sudo处理?

    不幸的是,我不知道一种干净地做您想做的事情的方法。我认为您最好的选择是使程序setuid(或在sudo下运行),然后执行您的肮脏工作并删除权限,或者从一个进程中删除fork()并删除权限,并保留另一个进程来进行根工作。 您正在寻找的是setuid(2) setreuid(2) setregid(2) setgroups(2)调用,但是它们都是硬接线的,不允许您在调用时获得特权。据我所知,您只能使用它们来“放弃”特权

  • Python-等待变量更改

    繁忙的循环不是正确的方法,因为它显然浪费了CPU。有一些线程构造可让您传达此类事件。参见例如:http : a href="http:docs

  • 如何在Python中获取操作系统的argv [0](不是sys.argv [0])?

    在Linux上,您可以阅读以下内容procselfcmdline: #!usrbinenv python import sys print sys.argv[0] f = open'procselfcmdline', 'rb' cmdline = f.read f.close print reprcmdline.split'\x00' cod

  • Django Formset管理表单验证错误

    为避免此错误,只需将您的表单集POST边界包装在try except块中,如下所示。 from django.core.exceptions import ValidationError # add this to your imports if request.method == 'POST': try: delblogformset = delblogrequest.POST

  • Ubuntu Oneiric上的scikits.audiolab-ImportError:没有名为_sndfile的模块

    有人建议我检查一下ldd _sndfile.so。做到了就得到了 linux-vdso.so.1 = 0x00007fffd3dea000 libsndfile.so.1 = usrlibx86_64-linux-gnulibsndfile.so.1 0x00007f2bfbb5b000 libpthread.so.0 =

  • 如何仅将dtype bool列的大熊猫数据框中的对与错映射为“是”和“否”?

    使用dtypes属性检查列是否为布尔值并根据该值进行过滤: df = pd.DataFrame{'A': [0, 1], 'B': ['x', 'y'], 'C': [True, False], 'D': [False, True]} df Out: A B C D 0 0 x True False 1 1 y False

  • Python Sendgrid发送带有PDF附件文件的电子邮件

    我找到了解决方案。我替换了这一行: pdf = openpdf_path, "rb".read.encode"base64" 这样 : with openpdf_path, 'rb' as f: data = f.read encoded = base64.b64encodedata pre

  • '线程'对象没有属性'线程'[关闭]

    检查您是否未命名脚本 threading.py

  • 如何通过ID访问变量?[重复]

    仅针对您的情况,解决方案是: var = 'I need to be accessed by id!' address = idvar printaddress var2 = [x for x in globals.values if idx==address] 它也可以从类似 def get_by_addressadd

  • 使用pika发布消息时如何添加标头键:值对

    您将使用pika.BasicProperties添加标头。 channel.basic_publishexchange=self.exchange, routing_key=sel

  • 异步-同步-在一个python事件循环中异步调用

    来吧!由于使用了一种异步方式,它使您可以更改所有项目。告诉我这不是真的。 这是真的 使用await关键字的整个想法是在一个事件循环中从代码的不同位置执行并发作业(这对于常规功能代码是无法做到的)。 asyncio -不是某种实用程序,而是编写异步程序的整体风格。 h

  • 使用云端硬盘python API在Google电子表格中设置“发布到网络”

    原来,上述代码片段返回的响应对象需要调用execute: service.revisions.updatefileId = newfile['id'], revisionId='head', body={'published':True, 'publishAuto': True}.execute 这将返回一个修订对象,并在文档

  • numpy中多个向量的元素明智最小值

    *V如果V只有2个数组,则可以使用。 np.minimum是a,ufunc并接受2个参数。 由于ufunc它具有.reduce方法,因此可以将其重复应用于列表输入。 In [321]: np.minimum.reduce[np.arange

  • python字典中循环(for循环)的顺序是什么[重复]

    Python字典没有顺序。但是,您可以使用sorteddomains函数指定订单。默认情况下,它使用键进行排序。 for key in sorteddomains: print key 将产生 de hu no sk us 如果要基于值进行排序,可以使用code

  • Celery:任务层次结构后的回调

    解决方案原来是此请求请求中提供的动态任务功能:https : github.comcelerycelerypull817。这样,每个任务可

  • 在某个短语后切字符串?

    简短的答案,如@ THC4K在评论中指出: string.splitpattern, 1[0] string您的原始字符串在哪里,pattern是您的“中断”模式,1表示分割不超过1次,并且[0]表示采用split返回的第一个元素。 实际上:

  • Python中的多个级别的键和值

    如果您只需要“计数”事物(并且假设数据文件包含所有必需的“哈希”级别),那么就可以解决问题: import collections result = collections.defaultdictint with open"beast","rt" as f: for line in f: hashes = line.split key = '-'.join

  • virtualenv --system-site-packages不使用系统站点包

    我不确定在创建时出了什么问题,virtualenv但显然它中没有预期的值sys.path。如果virtualenv x --system- site-packages用于创建虚拟环境x,则应在上看到父Python的site- packages目录sys.path。在上面的清单中,内部venv保

  • 带有引号的Python argparse参数

    我认为是吃掉它们的外壳,所以python实际上永远看不到它们。在命令行上转义它们可能是您唯一的选择。 如果\"backslash\"由于某种原因您不喜欢这种转义的样式,则应改用这种方式: pbsnodes -x | xmlparse -t '"interactive-00"'

  • python:将字典序列化为简单的html输出

    pyfunc制作的示例可以轻松修改以生成简单的嵌套html列表。 z = {'data':{'id':1,'title':'home','address':{'street':'some road','city':'anycity','postal':'somepostal'}}} def printItemsdictObj, indent: print ' '*indent + 'ul&