我正在玩PIL并遇到了这个问题,我无法看到文档在哪里我出错了.这是我的简单代码
from PIL import Image
from PIL.ImageChops import difference
imageA = Image.open("image1.png")
imageB = Image.open("image2.png")
if imageA.size == imageB.size:
diff = difference(imageA, imageB)
diff.save("test.png")
Run Code Online (Sandbox Code Playgroud)
这给了我错误
Traceback (most recent call last):
File "C:\[XXX]\box-test.py", line 8, in <module>
diff = difference(imageA, imageB)
File "C:\Python32\lib\site-packages\PIL\ImageChops.py", line 123, in difference
return image1._new(image1.im.chop_difference(image2.im))
ValueError: images do not match
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激
我已经实现了自己的Linked List类型的数据结构,但是当我想将一个链表附加到另一个链接列表而不迭代任何东西时,我遇到了一个问题.
这是我想要的输出示例
public class MyList{
public static void main(String[] args){
MyList list1 = new MyList(3);
MyList list2 = new MyList(4);
System.out.println(list1); //0 1 2
System.out.println(list2); //0 1 2 3
list1.add(list2);
System.out.println(list1); //0 1 2 0 1 2 3
System.out.println(list2); //0 1 2 3
}
private class Node{
public int data;
public Node next;
public Node(int data){
this.data = data;
}
}
public Node head;
public Node tail;
public MyList(int length){
for(int i = 0; i < length; i++){
add(new …Run Code Online (Sandbox Code Playgroud) 今天遇到一个奇怪的问题,下面是一些示例代码
from collections import defaultdict
class Counter:
hits = 0
visitors = set()
def addHit(self, ip):
self.hits += 1
self.visitors.add(ip)
d = defaultdict(Counter)
d['a'].addHit('1.1.1')
d['a'].addHit('2.2.2')
d['b'].addHit('3.3.3')
print d['a'].hits, d['a'].visitors
print d['b'].hits, d['b'].visitors
Run Code Online (Sandbox Code Playgroud)
预期结果:
2 set(['1.1.1', '2.2.2'])
1 set(['3.3.3'])
Run Code Online (Sandbox Code Playgroud)
实际结果:
2 set(['1.1.1', '3.3.3', '2.2.2'])
1 set(['1.1.1', '3.3.3', '2.2.2'])
Run Code Online (Sandbox Code Playgroud)
为什么访问者集在我认为应该是 Counter 类的单独实例之间共享数据。每个输入不应该指向一个特定的实例吗?
更难以理解的是,命中计数器似乎工作正常并将事物分开。
谁能帮助我了解这里发生了什么或如何解决它?