Tag: python

计算string中给定子string的出现次数

可能重复: 一个string中的子string的基本索引重复(python) 我如何计算一个给定的子string在Python中的string中存在的次数? 例如: >>> 'foo bar foo'.numberOfOccurrences('foo') 2

如何数字sorting列表?

我知道这听起来微不足道,但我没有意识到Python的sort()函数是奇怪的。 我有一个实际上是stringforms的“数字”列表,所以我首先将它们转换为整数,然后尝试sorting。 list1=["1","10","3","22","23","4","2","200"] for item in list1: item=int(item) list1.sort() print list1 给我: ['1', '10', '2', '200', '22', '23', '3', '4'] 我想要的是 ['1','2','3','4','10','22','23','200'] 我查找了一些与sorting数字集相关的algorithm,但是我发现的algorithm都涉及sorting字母数字集。 我知道这可能是一个没有道理的问题,但谷歌和我的教科书没有提供比.sort()函数更有用的东西。

为什么numpy的einsum比numpy的内置函数更快?

让我们从三个dtype=np.double数组开始。 计时是在英特尔CPU上使用nccu 1.7.1与icc编译并链接到英特尔mkl 。 用gcc不带mkl编译的numpy 1.6.1的AMD cpu也被用来validation时序。 请注意,时序规模几乎与系统规模成线性关系,并不是因为numpy函数中的小开销, if这些差异将以微秒而不是毫秒显示: arr_1D=np.arange(500,dtype=np.double) large_arr_1D=np.arange(100000,dtype=np.double) arr_2D=np.arange(500**2,dtype=np.double).reshape(500,500) arr_3D=np.arange(500**3,dtype=np.double).reshape(500,500,500) 首先让我们看一下np.sum函数: np.all(np.sum(arr_3D)==np.einsum('ijk->',arr_3D)) True %timeit np.sum(arr_3D) 10 loops, best of 3: 142 ms per loop %timeit np.einsum('ijk->', arr_3D) 10 loops, best of 3: 70.2 ms per loop 鲍尔斯: np.allclose(arr_3D*arr_3D*arr_3D,np.einsum('ijk,ijk,ijk->ijk',arr_3D,arr_3D,arr_3D)) True %timeit arr_3D*arr_3D*arr_3D 1 loops, best of 3: 1.32 s per loop %timeit np.einsum('ijk,ijk,ijk->ijk', […]

我什么时候需要在Tkinter应用程序中调用mainloop?

我见过的每一个tkinter.mainloop教程声称, tkinter.mainloop必须被调用来绘制窗口和事件来处理,而且他们总是调用这个函数,即使在hello world程序中。 但是,当我在交互式shell中尝试这些时,窗口绘制正确,而不必调用主循环。 这个在tkinter中embeddedmatplotlibgraphics的例子产生了一个相对复杂的应用程序,用于在tkinter窗口中平移,缩放和调整graphics的大小,再次,如果你去掉mainloop调用并在交互式shell中运行代码, 。 当然,如果我在交互式shell之外运行脚本(在mainloop被移除的情况下),程序结束得太快以至于看不到会发生什么,但是如果我添加一个调用来保存程序打开一切正常的工作(我正在运行python 3.2.2在Linux上)。 那么主循环究竟做了什么,什么时候需要调用呢? 编辑:澄清,如果我打开GNOMEterminal和types $python3 >>> import tkinter >>> root = tkinter.Tk() 一个窗口立即出现,而不必调用主循环,更复杂的tkinterfunction似乎也可以工作(例如,向窗口添加button)。 在IDLE中,调用mainloop是必要的。 根据我的理解,任何东西都不应该被绘制,直到主循环被调用,才能处理任何事件。

Python请求requests.exceptions.SSLError: _ssl.c:504:EOF违反协议

我在Ubuntu 12.10与OpenSSL 1.0.1c,Python 2.7.3, 请求 1.0.3和1.0.4(尝试两个),并试图连接到urlvariables与下面的代码。 def SendInitialRequest(xmlmessage, redirecturl): url = 'https://centineltest.cardinalcommerce.com/maps/txns.asp' payload = 'cmpi_msg=' + ET.tostring(xmlmessage) headers = { 'Content-Type': 'application/x-www-form-urlencoded', } r = requests.post(url, data=payload, headers=headers, verify=None) print r.text 它会抛出以下错误: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "clams/libs/centinel/thinclient.py", line 134, in SendInitialRequest r = requests.post(url, data=payload, headers=headers, verify=None) […]

使用Python进行公式分析

我怎么能(很容易)取得一个string,例如用户在运行时input的"sin(x)*x^2" ,并产生一个Python函数,可以计算任何x值?

访问python字典的元素

考虑像一个字典 mydict = { 'Apple': {'American':'16', 'Mexican':10, 'Chinese':5}, 'Grapes':{'Arabian':'25','Indian':'20'} } 我如何访问这个字典的特定元素? 例如,我想打印第一个元素,在一些格式化苹果的第一个元素,在我们的情况下,这只是“美国”? 附加信息上面的数据结构是通过parsingpython函数中的input文件创build的。 一旦创build,但它仍然是相同的运行。 我在我的函数中使用这个数据结构。 所以如果文件发生变化,下次运行这个应用程序的时候文件的内容是不一样的,所以这个数据结构的内容会有所不同,但是格式是一样的。 所以你看我在我的function,我不知道苹果的第一个元素是“美国”或其他任何东西,所以我不能直接使用“美国”作为一个关键

在sql查询中的python列表作为参数

我有一个python列表,说l l = [1,5,8] 我想写一个SQL查询来获取列表的所有元素的数据,说 “从studens中select名字id = |在列表中l |” 我如何解决这个问题?

为什么在Python 2.7中自动打印括号?

在Python 2.7中,以下两者都会做同样的事情 print("Hello, world!") # Prints "Hello, world!" print "Hello, world!" # Prints "Hello, world!" 但是下面不会 print("Hello,", "world!") # Prints the tuple: ("Hello,", "world!") print "Hello,", "world!" # Prints the words "Hello, world!" 在Python 3.x括号中是强制性的,本质上是一个函数,但是在2.7中,两者都会有不同的结果。 还有什么我应该知道在Python 2.7 print ?

用Pythonreplace控制台输出

我想知道如何在Python中创build一个非常漂亮的控制台,就像在某些C / C ++程序中一样。 我有一个循环做的事情,目前的产出是沿着的: Doing thing 0 Doing thing 1 Doing thing 2 … 更新更新会是最后一行更新; X things done. 我已经在一些控制台程序中看到了这个,我想知道是否/如何在Python中执行此操作。