我怎样随机洗牌,以保持原有的位置? 换句话说,给定一个具有不同元素的列表A ,我想生成它的排列B 这个排列是随机的 并且对于每个n , a[n] != b[n] 例如 a = [1,2,3,4] b = [4,1,2,3] # good b = [4,2,1,3] # good a = [1,2,3,4] x = [2,4,3,1] # bad 我不知道这样一个排列的恰当的术语(这是“总”?),因此很难search。 正确的名词似乎是“混乱”。
我有一个工作的Python 2.6安装,只是安装了PyQt4的Python 2.6(可在http://www.riverbankcomputing.co.uk/software/pyqt/download )。 当我尝试导入PyQt4.QtGui时出现以下错误: ImportError: DLL load failed: The specified procedure could not be found. 我在Windows 2K8 64位,但我的Python安装是32位。
从我读过的内容来看,Python实例中的环境variables的任何更改都只在该实例中可用,并且在实例closures后消失。 有没有什么办法让他们坚持下来,让他们进入系统? 我需要这样做的原因是因为在我工作的工作室,像Maya这样的工具严重依赖于环境variables来跨多个平台configurationpath。 我的testing代码是 import os os.environ['FAKE'] = 'C:\\' 打开另一个Python实例并请求os.environ['FAKE']产生一个KeyError 。 注:可移植性将是一个问题,但是我写的小API将能够检查操作系统版本,并在必要时触发不同的命令。 也就是说,我已经走了使用Windowsregistry技术的路线,并将简单地编写替代方法,在其他平台上调用shell脚本,因为它们成为需求。
我正在学习Python编程,而且我很新。 我在印刷从一个到一百个素数的问题时遇到了问题。 我无法弄清楚我的代码有什么问题。 这是我写的。 它打印所有的奇数而不是素数: for num in range(1,101): for i in range(2,num): if (num%i==0): break else: print(num) break
我正在用Matplotlib绘制两个子图,基本如下: subplot(211); imshow(a); scatter(…, …) subplot(212); imshow(b); scatter(…, …) 我可以在这两个子图之间画线吗? 我该怎么做?
我有以下几点: <text top="52" left="20" width="383" height="15" font="0"><b>test</b></text> 我有以下几点: fileText = re.sub("<b>(.*?)</b>", "\1", fileText, flags=re.DOTALL) 其中fileText是我在上面发布的string。 当我运行正则expression式replace后,我打印出fileText ,我回来了 <text top="52" left="20" width="383" height="15" font="0"></text> 而不是预期的 <text top="52" left="20" width="383" height="15" font="0">test</text> 现在我对正则expression式很熟练,我知道它应该工作,事实上我知道它匹配正确,因为我可以在groups看到它,当我做search和打印出的groups但我是新来的python和困惑至于为什么它不正确地处理后面的引用
我刚碰到一些很奇怪的东西。 >>> t = ([],) >>> t[0].append('hello') >>> t (['hello'],) >>> t[0] += ['world'] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'tuple' object does not support item assignment >>> t (['hello', 'world'],) 为什么它会引发TypeError ,然后改变tuple内的list ?
我不知道为什么,但由于某种原因,每当我有输出文件的文件名称中的“区域”,它给了我这个错误: IOError:[Errno 22] invalid mode('w')or filename:'path \ regionlog.txt' 它为“region.txt” , “logregion.txt”等 class writeTo: def __init__(self, stdout, name): self.stdout = stdout self.log = file(name, 'w') #here is where it says the error occurs output = os.path.abspath('path\regionlog.txt') writer = writeTo(sys.stdout, output) #and here too 为什么是这样? 我真的想命名我的文件“regionlog.txt”,但它不断出现这个错误。 有没有办法解决它?
我已经看过文档和其他问题在这里,但似乎我还没有掌握在numpy数组中的子集。 我有一个numpy数组,为了争论,让它被定义如下: import numpy as np a = np.arange(100) a.shape = (10,10) # array([[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9], # [10, 11, 12, 13, 14, 15, 16, 17, 18, 19], # [20, 21, 22, 23, 24, 25, 26, 27, 28, 29], # [30, 31, 32, 33, 34, 35, 36, 37, […]
我想用另一个实例在一个像这样的方法中replace一个对象实例: class A: def method1(self): self = func(self) 该对象从数据库中检索。