我试图在窗口中显示图像….似乎很简单,对不对? 那么我有一个大错误! 我在一个文件中有这个相同的代码: import Tkinter root = Tkinter.Tk() canvas = Tkinter.Canvas(root) canvas.grid(row = 0, column = 0) photo = Tkinter.PhotoImage(file = '/Users/Richy/Desktop/1.gif') image1 = canvas.create_image(0,0, image=photo) root.mainloop() 有用。 我有一个更大的文件的一部分: def officialPictureWindow(self): t = Toplevel(self) t.wm_title("Official Image") self.__canvas3 = Canvas(t) self.__canvas3.grid(row = 0, column = 0) photo = PhotoImage(file = '/Users/Richy/Desktop/1.gif') image1 = self.__canvas3.create_image(0,0, image=photo) 它不工作! […]
假设我有一个数字列表: L = [1, 2, 3, 4, 5] 我如何从列表中删除一个元素,让我们说3,而我迭代它? 我试过下面的代码,但它没有这样做: for el in L: if el == 3: del el 有任何想法吗? 谢谢,Boda Cydo。
我有一个错误,我使用的方法是相互依赖的。 事实certificate情况并非如此: >>> class What(object): def meth(self): pass >>> What.meth is What.meth False >>> inst = What() >>> inst.meth is inst.meth False 为什么是这样? 它适用于常规function: >>> def func(): pass >>> func is func True
我已经把这个报告为pandas问题的一个问题 。 同时我在这里张贴这个希望能节省时间,以防遇到类似的问题。 在分析一个需要优化的进程时,我发现重命名不在位的列会提高x120的性能(执行时间)。 分析表明这与垃圾收集有关(见下文)。 此外,通过避免使用dropna方法来恢复预期的性能。 下面的简短例子演示了一个因素x12: import pandas as pd import numpy as np 就地=真 %%timeit np.random.seed(0) r,c = (7,3) t = np.random.rand(r) df1 = pd.DataFrame(np.random.rand(r,c), columns=range(c), index=t) indx = np.random.choice(range(r),r/3, replace=False) t[indx] = np.random.rand(len(indx)) df2 = pd.DataFrame(np.random.rand(r,c), columns=range(c), index=t) df = (df1-df2).dropna() ## inplace rename: df.rename(columns={col:'d{}'.format(col) for col in df.columns}, inplace=True) 100个循环,每个循环最好3:15.6 ms […]
我犯了一个错误,如下所示: >>> list = ['a', 'b', 'c'] 但是现在我想使用内置的函数list() 。 如您所见,listname list和内置函数list()之间存在命名冲突。 如何在不重新启动Python shell的情况下将list作为内置函数而不是variables?
我如何testing一个列表是否包含另一个列表(即它是一个子序列)。 说有一个叫做contains的函数: contains([1,2], [-1, 0, 1, 2]) # Returns [2, 3] (contains returns [start, end]) contains([1,3], [-1, 0, 1, 2]) # Returns False contains([1, 2], [[1, 2], 3) # Returns False contains([[1, 2]], [[1, 2], 3]) # Returns [0, 0] 编辑: contains([2, 1], [-1, 0, 1, 2]) # Returns False contains([-1, 1, 2], [-1, 0, […]
我有一个线程类“MyThread”和我的主要应用程序,简称为“桂”。 我想从线程类创build一些对象,但对于这个例子,我只创build了一个对象。 线程类做了一些工作,然后向Gui类发出一个信号,表示需要用户input(现在这个指示只是简单的改变一个button的文本)。 然后,线程应该等待用户input(在这种情况下点击一个button),然后继续做它正在做的事情… from PyQt4 import QtGui, QtCore class MyTrhead(QtCore.QThread): trigger = QtCore.pyqtSignal(str) def run(self): print(self.currentThreadId()) for i in range(0,10): print("working ") self.trigger.emit("3 + {} = ?".format(i)) #### WAIT FOR RESULT time.sleep(1) class Gui(QMainWindow, Ui_MainWindow): def __init__(self, parent=None): super(Gui, self).__init__(parent) self.setupUi(self) self.pushButton.clicked.connect(self.btn) self.t1 = MyTrhead() self.t1.trigger.connect(self.dispaly_message) self.t1.start() print("thread: {}".format(self.t1.isRunning())) @QtCore.pyqtSlot(str) def dispaly_message(self, mystr): self.pushButton.setText(mystr) […]
>>> D = {'a': 1, 'b': 2, 'c': 3} >>> D {'a': 1, 'c': 3, 'b': 2} 我只是在Python shell中做了这个,我只是想知道为什么键'c'会在键'b'之后?
我已经开始学习Python(Python 3.3),我正在尝试is运算符。 我试过这个: >>> b = 'is it the space?' >>> a = 'is it the space?' >>> a is b False >>> c = 'isitthespace' >>> d = 'isitthespace' >>> c is d True >>> e = 'isitthespace?' >>> f = 'isitthespace?' >>> e is f False 似乎空间和问号使得行为有所不同。 这是怎么回事? 编辑:我知道我应该使用== ,我只是想知道为什么is行为。
我理解一个语句和一个expression式之间的区别,我知道Python3把print()变成了一个函数。 然而,我运行了一个print()语句,在各种Python2.x解释器中用圆括号括起来,它运行得非常完美,我甚至不需要导入任何模块。 我的问题是:下面的代码print("Hello SO!")评估为语句或Python2.x中的expression式?