Python简单处理坐标排序问题示例
本文实例讲述了Python简单处理坐标排序问题。分享给大家供大家参考,具体如下:
前面一篇学了列表的冒泡排序算法,这一节利用此算法处理一下坐标排序的问题
我实现的功能是从上到下,从左到右的排序坐标点
# -*- coding:utf-8 -*- #! python2 a=[(4,5),(2,4),(3,4),(1,1),(2,5)] print a def zuobiaopaixu(a): b=[] l=len(a) for i in range(l): j=i for j in range(l): if (a[i][0]<a[j][0]): a[i],a[j]=a[j],a[i] if (a[i][1]>a[j][1]): a[i],a[j]=a[j],a[i] for k in range(len(a)): b.append(a[k]) return b b=zuobiaopaixu(a) print b
运行结果:
[(4, 5), (2, 4), (3, 4), (1, 1), (2, 5)]
[(2, 5), (4, 5), (2, 4), (3, 4), (1, 1)]
PS:这里再为大家推荐一款关于排序的演示工具供大家参考:
在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具:
http://tools.jb51.net/aideddesign/paixu_ys
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python列表(list)操作技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。
相关推荐
-
python sort、sorted高级排序技巧
Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列. 1)排序基础 简单的升序排序是非常容易的.只需要调用sorted()方法.它返回一个新的list,新的list的元素基于小于运算符(__lt__)来排序. 复制代码 代码如下: >>> sorted([5, 2, 3, 1, 4]) [1, 2, 3, 4, 5] 你也可以使用list.sort()方法来排序,此时list本身将被修改.通常此方法不如s
-
python 读取鼠标点击坐标的实例
读取鼠标点击坐标,包括点下去和抬起来的坐标,注意不要在命令行点,可能会出问题 import pythoncom, pyHook def onMouseEvent(event): print "Position:", event.Position return True def main(): hm = pyHook.HookManager() hm.HookKeyboard() hm.MouseAllButtonsDown = onMouseEvent hm.MouseAllButto
-
学习python中matplotlib绘图设置坐标轴刻度、文本
总结matplotlib绘图如何设置坐标轴刻度大小和刻度. 上代码: from pylab import * from matplotlib.ticker import MultipleLocator, FormatStrFormatter xmajorLocator = MultipleLocator(20) #将x主刻度标签设置为20的倍数 xmajorFormatter = FormatStrFormatter('%1.1f') #设置x轴标签文本的格式 xminorLocator = M
-
python 字典(dict)按键和值排序
python 字典(dict)的特点就是无序的,按照键(key)来提取相应值(value),如果我们需要字典按值排序的话,那可以用下面的方法来进行: 1 下面的是按照value的值从大到小的顺序来排序. dic = {'a':31, 'bc':5, 'c':3, 'asd':4, 'aa':74, 'd':0} dict= sorted(dic.items(), key=lambda d:d[1], reverse = True) print(dict) 输出的结果: [('aa', 74),
-
Python中字典(dict)和列表(list)的排序方法实例
一.对列表(list)进行排序 推荐的排序方式是使用内建的sort()方法,速度最快而且属于稳定排序 复制代码 代码如下: >>> a = [1,9,3,7,2,0,5]>>> a.sort()>>> print a[0, 1, 2, 3, 5, 7, 9]>>> a.sort(reverse=True)>>> print a[9, 7, 5, 3, 2, 1, 0]>>> b = ['e','a'
-
python matplotlib坐标轴设置的方法
在使用matplotlib模块时画坐标图时,往往需要对坐标轴设置很多参数,这些参数包括横纵坐标轴范围.坐标轴刻度大小.坐标轴名称等 在matplotlib中包含了很多函数,用来对这些参数进行设置. 我们可以对坐标轴进行设置,设置坐标轴的范围,设置坐标轴上的文字描述等. 基本用法 例如: import numpy as np import pandas as pd import matplotlib.pyplot as plt # 生成x轴上的数据:从-3到3,总共有50个点 x = np.lin
-
修改python plot折线图的坐标轴刻度方法
修改python plot折线图的坐标轴刻度,这里修改为整数: 代码如下: from matplotlib import pyplot as plt import matplotlib.ticker as ticker import numpy as np def std_plot(): overall_std = [34.369, 21.366, 16.516, 11.151] max_std = [36.769, 21.794, 14.390, 4.684] plt.figure() plt
-
python中对数据进行各种排序的方法
Python列表具有内置的 list.sort()方法,可以在原地修改列表. 还有一个 sorted()内置的函数从迭代构建一个新的排序列表.在本文中,我们将探讨使用Python排序数据的各种技术. 请注意,sort()原始数据被破坏,sorted()没有对原始数据进行操作,而是新建了一个新数据. 一.基本的排序 最基本的排序很简单.只要使用sorted()函数即可返回一个 新的排序的列表 >>>sorted([5, 2, 3, 1, 4]) [1, 2, 3, 4, 5] 咱们也可以使
-
python冒泡排序算法的实现代码
1.算法描述:(1)共循环 n-1 次(2)每次循环中,如果 前面的数大于后面的数,就交换(3)设置一个标签,如果上次没有交换,就说明这个是已经好了的. 2.python冒泡排序代码 复制代码 代码如下: #!/usr/bin/python# -*- coding: utf-8 -*- def bubble(l): flag = True for i in range(len(l)-1, 0, -1): if flag: flag = False
-
Python实现简单的列表冒泡排序和反转列表操作示例
本文实例讲述了Python实现简单的列表冒泡排序和反转列表操作.分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- #! python2 a=[3,4,6,2,1] print a def sortAndAddNew(a): b=[] l=len(a) for i in range(l): j=i for j in range(l): if (a[i]>a[j]): a[i],a[j]=a[j],a[i] for k in range(len(a)): b.appen
-
python字符串排序方法
本文以实例形式简述了Python实现字符串排序的方法,是Python程序设计中一个非常实用的技巧.分享给大家供大家参考之用.具体方法如下: 一般情况下,python中对一个字符串排序相当麻烦: 一.python中的字符串类型是不允许直接改变元素的.必须先把要排序的字符串放在容器里,如list. 二.python中的list容器的sort()函数没返回值. 所以在python中对字符串排序往往需要好几行代码. 具体实现方法如下: >>> s = "string" >
-
代码分析Python地图坐标转换
最近做项目正好需要坐标的转换 各地图API坐标系统比较与转换; WGS84坐标系:即地球坐标系,国际上通用的坐标系.设备一般包含GPS芯片或者北斗芯片获取的经纬度为WGS84地理坐标系, 谷歌地图采用的是WGS84地理坐标系(中国范围除外); GCJ02坐标系:即火星坐标系,是由中国国家测绘局制订的地理信息系统的坐标系统.由WGS84坐标系经加密后的坐标系. 谷歌中国地图和搜搜中国地图采用的是GCJ02地理坐标系; BD09坐标系:即百度坐标系,GCJ02坐标系经加密后的坐标系; 搜狗坐标系.图
随机推荐
- ExtJS4利根据登录后不同的角色分配不同的树形菜单
- jQuery实现的弹幕效果完整实例
- 深入理解Vuex 模块化(module)
- JavaScript实现实时更新系统时间的实例代码
- Iiscnfg.vbs IIS 配置脚本
- DOS多媒体播放器MPXPLAY的命令行参数大全
- 详解JS函数重载
- c#使用正则表达式匹配字符串验证URL示例
- 在Python下使用Txt2Html实现网页过滤代理的教程
- jsp留言板源代码三: 给jsp初学者.
- python使用PIL缩放网络图片并保存的方法
- 推荐一篇利用th,colgroup,col定义表格样式
- java实现利用String类的简单方法读取xml文件中某个标签中的内容
- 如何编写健壮的Bash脚本(经验分享)
- eclipse 如何创建 user library 方法详解
- java继承中的构造方法实例解析
- java 关键字static详细介绍及如何使用
- Struts2学习笔记(4)-通配符的使用
- php提示无法加载或mcrypt没有找到 PHP 扩展 mbstring解决办法
- BIND&DNS内部培训教程1