编程面试题

  • 多重处理可在Ubuntu中运行,而不适用于Windows

    问题在于MyBus对象的某些部分不可腌制,并且您正在将实例保存MyBus到Broker实例中。由于Windows缺乏fork支持,因此在调用时broker.start,broker必须在multiprocessing产生的子进程中对的整个状态进行酸洗并重新创建

  • 从Word文档中提取标题文本

    根本的挑战是确定标题段落。对于读者而言,没有什么能阻止作者将“常规”段落格式化为看起来(并充当)标题的方式。 但是,对于作者来说,可靠地使用样式创建标题并不罕见,因为这样做可以将这些标题自动编译到目录中。 在这种情况下,您可以遍历段落,然后选择标题样式之一的段落。 def iter_headingsparagraphs: for paragraph in parag

  • 如何使用hinstance确定win32api.ShellExecute是否成功?

    使用ShellExecute,您将永远不会知道何时完成打印,这取决于文件的大小以及打印机驱动程序是否缓冲内容(例如,打印机可能正在等待您填充纸盒)。 根据此SO答案,这似乎subprocess.call是一个更好的解决方案,因为它等待命令完成,只有在这种情况下,

  • 更新时绑定到StringVar的Tkinter标签落后一键

    问题与Tk的基本设计有关。简短的版本是,特定窗口小部件的绑定在窗口小部件的默认类绑定之前触发。在类绑定中,列表框的选择被更改。这正是您所观察到的- 您在当前点击之前就看到了选择。 最好的解决方案是绑定到ListboxSelect选择更改后触发的虚拟事件。其他解决方案(对于Tk来说是独一无二的,并为其赋予了其令人难以置信的强大功能和灵活性)是修改绑定的应用顺

  • python闭包中的cell_contents

    cell_contents要求在python中关闭吗? __closure__是并且一直是一个元组元组(甚至在调用时也是如此func_closure)。 每个单元仍然有一个cell_contents成员。但是,元组当然不会。 因此,您想要的可能是以下之一

  • Python新样式信号以及线程和gui应用之间的插槽

    您的示例的结构或多或少是正确的:但是您正在将旧样式的信号槽语法与新样式混合在一起。 信号定义应如下所示: class OptimThreadQtCore.QThread: signalUpdateMessageDialog = QtCore.pyqtSignalint, str 信号应该这样发出: s

  • 有没有办法在Python中更改有效的进程名称?

    简而言之,没有可移植的方法。您必须测试系统,并使用该系统的首选方法。 此外,我对Windows上的进程名称的含义感到困惑。 您是说服务名称吗?我猜想是这样,因为其他任何事情都没有任何意义(至少对于我使用Windows的非Windows用户而言)。 如果是这样,则需要使用Tim Golden的WMI界

  • pip忽略setup.py中的dependency_links

    这个答案应该有所帮助。简而言之,您需要为其指定版本(或“ dev”),#egg=python-s3使其看起来像#egg=python-s3-1.0.0code

  • macosx下的python matplotlib框架?

    在Mac OS X上有两种构建和安装Python的方法。一种是作为传统的扁平Unix- y共享库。作为其他公知framework安装,文件布局类似,所有的部件目录(对OS X其他框架include,lib,bin)的产品被安装为主体的框架目录下的子目录。该Fink项目使用Unix共享库方法安装Pytho

  • 重复字符串一定长度

    def repeat_to_lengthstring_to_expand, length: return string_to_expand * lengthlenstring_to_expand+1[:length] 对于python3: def repeat_to_lengthstring_to_expand, length:

  • NumPy中的加权标准差

    接下来的简短“手动计算”如何? def weighted_avg_and_stdvalues, weights: """ Return the weighted average and standard deviation. values, weights -- Numpy ndarrays with the same shape. """ average = num

  • 如何使用multiprocessing.Manager()?

    Manager代理对象无法传播对容器内(非托管)可变对象所做的更改。因此,换句话说,如果您有一个manager.list对象,则对托管列表本身的任何更改都将传播到所有其他进程。但是,如果你有一个正常的Python列表 内 该列表,在列表内的任何变化都不会传播的,因为经理没有检测变化的方式。 为了传播的变化,你必须使用manager.listcod

  • nltk NaiveBayesClassifier情绪分析培训

    您需要更改数据结构。这是train目前的清单: train = ['I love this sandwich.', 'pos', 'This is an amazing place!', 'pos', 'I feel very good about these beers.', 'pos', 'This is my best work.', 'po

  • 在Python请求库的get方法中使用标头

    根据API,标头都可以使用传递requests.get: r=requests.get"http:www.example.com", headers={"content-type":"text"}

  • Python 3中的sys.maxint是什么?

    删除了sys.maxint常量,因为整数值不再受限制。但是,sys.maxsize可以用作大于任何实际列表或字符串索引的整数。它符合实现的“自然”整数大小,并且通常与同一平台上的先前版本中的sys.maxint相同(假定具有相同的生成选项)。 a href="http:docs.python.org3.1whatsnew3.0.html#integers

  • 获取文本文件第一行和最后一行的最有效方法是什么?

    io模块的文档 with openfname, 'rb' as fh: first = nextfh.decode fh.seek-1024, 2 last = fh.readlines[-1].decode 此处的变

  • Tensorflow是否与Windows工作流程兼容?

    *2016年11月28日 *更新: 今天,我们发布了TensorFlow 0.12的第一个候选版本,其中包括对Windows的支持。您可以在Python Shell中使用以下命令安装Python绑定: C:\ pip install tensorflow …或者,如果您想要GPU支持:

  • 为什么python字符串和元组是不可变的?

    一个就是性能:知道字符串是不可变的,因此很容易在构造时进行布局- 固定且不变的存储要求。这也是区分元组和列表的原因之一。这也允许实现安全地重用字符串对象。例如,CPython实现将预分配的对象用于单字符字符串,并且通常返回原始字符串用于不更改内容的字符串操作。 另一个是Python中的字符串被视为数字的“元素”。活动量不会将值8更改为其他任何值,在Python中,活动量也不会将字

  • 如何在Pandas DataFrame中将True / False映射到1/0?

    一种将布尔值的单列转换为整数1或0的列的简洁方法: df["somecolumn"] = df["somecolumn"].astypeint

  • scipy.misc模块没有属性读取?

    您需要安装Pillow(以前称为PIL)。从在文档上scipy.misc: block

  • 导入函数内部是pythonic吗?

    从长远来看,我想您会喜欢将大多数导入都放在文件顶部的方式,这样一来您就可以一目了然地判断模块要导入的内容有多复杂。 如果要在现有文件中添加新代码,通常会在需要的地方进行导入,然后,如果代码保留下来,则可以通过将导入行移到文件顶部来使事情变得更永久。 还有一点,我更喜欢ImportError在运行任何代码之前获取一个异常-作为健全性检查,因此这是在顶部导入的另一个原因。 p

  • Pandas DataFrame将列表存储为字符串:如何转换回列表?

    正如您所指出的那样,在将pandas DataFrames保存和加载为.csv文件时,通常会发生这种情况,这是一种文本格式。 在您的情况下,这是因为列表对象具有字符串表示形式,因此可以将它们存储为.csv文件。.csv然后加载将产生该字符串表示形式。 如果要存储实际对象,则应使用DataFrame.to_pickle

  • Python 3中的zip()函数

    与Python 2不同,Python 3中的zip函数返回一个 迭代器 。迭代器只能用一次(通过从列表中删除列表)。这样做的目的是通过仅在需要时生成迭代器的元素,而不是一次将其全部放入内存来节省内存。如果要重复使用压缩的对象,只需像在第二个示例中一样,从中创建一个列表,然后使用类似的方法复制该列表 test2 = listziplis1,lis2

  • 并非所有类别都存在时的虚拟变量

    使用转置和重新索引 import pandas as pd cats = ['a', 'b', 'c'] df = pd.DataFrame{'cat': ['a', 'b', 'a']} dummies = pd.get_dummiesdf, prefix='', prefix_sep='' dummies = dummies.T.reindexcats.T.fillna0 print d

  • 如何在Python中使用原始套接字?

    您可以这样操作: 首先,您禁用网卡的自动校验和: sudo ethtool -K eth1 tx off 然后从python 2发送您的躲避帧(您必须自己转换为Python 3): #!usrbinenv python from socket import socket, AF_PACKET, SOCK_RAW s =

  • 如何在ttk中创建下载进度栏?

    对于确定模式,您不想调用start。相反,只需配置value小部件的或调用step方法。 如果您事先知道要下载多少个字节(并且我假设您这样做是因为您正在使用确定模式),那么最简单的事情就是将maxvalue选项设置为要读取的数字。然后,每次读取块时,将设置value为读取的字节总数。然后,进度条将计算

  • 如何“精巧”地在Python中打印列表

    from pprint import pprint pprintthe_list

  • 初次运行时的烧瓶:请勿在生产环境中使用开发服务器

    除非您告知开发服务器它正在开发模式下运行,否则它将假定您正在生产环境中使用它,并警告您不要这样做。开发服务器不适用于生产环境。它的设计目的不是特别高效,稳定或安全。 通过将FLASK_ENV环境变量设置为来启用开发模式development。 pre

  • 熊猫能否将groupby汇总成一个列表,而不是总和,平均值等?

    我的解决方案比您预期的要长一些,我敢肯定它可以缩短,但是: g = df.groupby"A".applylambda x: pd.concatx["B"], x["C"] k = g.reset_index k["i"] = k1.index k["rn"] = k1.groupby"A"["i"].rank k.pivot_tablerows="A", cols="rn", va

  • 使用Python删除C和C ++注释?

    我不知道您是否熟悉sed基于UNIX(但Windows可用)的文本解析程序,但是我在这里找到了一个sed脚本,该脚本将从文件中删除C

  • 您可以使用字符串实例化类吗?

    不确定这是否是您想要的,但是似乎更Python化的方式来实例化字符串中列出的一堆类: class idClasses: class ID12345:pass class ID01234:pass # could also be: import idClasses class ProcessDirector: def __init__self: self.allClas

  • Python将numpy数组插入sqlite3数据库

    您可以使用来注册新的array数据类型sqlite3: import sqlite3 import numpy as np import io def adapt_arrayarr: """ http:stackoverflow.coma31312102190597 SoulNibbler """ out =

  • python3和python3m可执行文件之间的区别

    值得称赞的是chepner指出我已经拥有该解决方案的链接。 Python实现可以在文件名标签中适当地包含其他标志。例如,在POSIX系统上,这些标志也将

  • Python中* in *运算符的复杂性

    的复杂性in完全取决于是什么L。e in L将成为L.__contains__e。 有关几种内置类型的复杂性,请参见此时间复杂性文档。 这是以下内容的摘要in:p

  • SciPy的optimize.minimize中的多个变量

    将多个变量打包到单个数组中: import scipy.optimize as optimize def fparams: # printparams # -- you'll see that params is a NumPy array a, b, c = params # -- for readability you may wish to assign name

  • Python-GroupBy对象的滚动功能

    注意: 如@kekert所标识,以下熊猫模式已被弃用。请参阅下面的答案中的当前解决方案。 In [16]: df.groupby'id'['x'].applypd.rolling_mean, 2, min_periods=1 Out[16]: 0 0.0 1 0.5 2 1.5 3 3.0 4 3.5 5 4.5 In [17]:

  • 在未完全排序的列表中查找最接近值的项目的索引

    请尝试以下操作: minrangelena, key=lambda i: absa[i]-11.5 例如: a = [25.75443, 26.7803, 25.79099, 24.17642, 24.3526, 22.79056, 20.84866, 19.49222, 18.38086, 18.0

  • 比较两个文件在python中报告差异

    import difflib lines1 = ''' dog cat bird buffalo gophers hound horse '''.strip.splitlines lines2 = ''' cat dog bird buffalo gopher horse mouse '''.strip.splitlines # Changes: # swapped positions of cat and

  • 如何将静态文件包含到setuptools-python包

    正如评论中指出的那样,有两种添加静态文件的方法: 1-include_package_data = True + MANIFEST.in 一个MANIFEST.in在同一目录下的文件setup.py,看起来像这样: include srcstatic* include srcPotato*.txt

  • numpy的“智能”对称矩阵

    如果您有能力在进行计算之前就对称矩阵,则以下操作应相当快: def symmetrizea: """ Return a symmetrized version of NumPy array a. Values 0 are replaced by the array value at the symmetric position with respect to the dia