马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
{'red': [(50, 50), (50, 90), (90, 90)], 'green': [(160, 170), (160, 130), (120, 130)], 'blue': [(200, 30), (180, 30), (180, 50), (220, 50)], 'yellow': [(40, 100), (40, 140), (60, 140), (60, 120)], 'purple': [(210, 70), (230, 90), (270, 90), (270, 50), (230, 50)], 'olive': [(180, 130), (180, 170), (220, 210), (240, 190)], 'magenta': [(100, 200), (120, 180), (80, 140), (80, 180)]}
请问
如何把该字典中的值输出成这样呢?
{'red': [(0,40),(40,0),(- 40,- 40)], 'green': [(0, -40), (-40, 0), (-40, -40)], 'blue': [(-20, 0), (0, 20), (40, 0), (-20,-20)], 'yellow': [(0, 40), (20, 0), (0, -20), (-20, -20)], 'purple': [(20, 20), (40, 0), (0, -40), (40, 0), (-20, 20)], 'olive': [(0, 40), (40, 40), (20, 20), (-60, -60)], 'magenta': [(20, -20), (-40, -40), (0, 40), (20, 20)]}
就是由点左边————>向量, 后面的坐标减去前面的坐标值。。得到上面这个字典
- d1 = {'red': [(50, 50), (50, 90), (90, 90)], 'green': [(160, 170), (160, 130), (120, 130)], 'blue': [(200, 30), (180, 30), (180, 50), (220, 50)], 'yellow': [(40, 100), (40, 140), (60, 140), (60, 120)], 'purple': [(210, 70), (230, 90), (270, 90), (270, 50), (230, 50)], 'olive': [(180, 130), (180, 170), (220, 210), (240, 190)], 'magenta': [(100, 200), (120, 180), (80, 140), (80, 180)]}
- d2 = {}
- for i, j in d1.items():
- data = []
- len1 = len(j)
- for n in range(len1):
- data.append((j[(n + 1) % len1][0] - j[n][0], j[(n + 1) % len1][1] - j[n][1]))
- d2[i] = data
复制代码
|