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中matplotlib绘图设置坐标轴刻度、文本
总结matplotlib绘图如何设置坐标轴刻度大小和刻度. 上代码: from pylab import * from matplotlib.ticker import MultipleLocator, FormatStrFormatter xmajorLocator = MultipleLocator(20) #将x主刻度标签设置为20的倍数 xmajorFormatter = FormatStrFormatter('%1.1f') #设置x轴标签文本的格式 xminorLocator = M
-
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实现简单的列表冒泡排序和反转列表操作示例
本文实例讲述了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 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中字典(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字符串排序方法
本文以实例形式简述了Python实现字符串排序的方法,是Python程序设计中一个非常实用的技巧.分享给大家供大家参考之用.具体方法如下: 一般情况下,python中对一个字符串排序相当麻烦: 一.python中的字符串类型是不允许直接改变元素的.必须先把要排序的字符串放在容器里,如list. 二.python中的list容器的sort()函数没返回值. 所以在python中对字符串排序往往需要好几行代码. 具体实现方法如下: >>> s = "string" >
-
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 字典(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冒泡排序算法的实现代码
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列表具有内置的 list.sort()方法,可以在原地修改列表. 还有一个 sorted()内置的函数从迭代构建一个新的排序列表.在本文中,我们将探讨使用Python排序数据的各种技术. 请注意,sort()原始数据被破坏,sorted()没有对原始数据进行操作,而是新建了一个新数据. 一.基本的排序 最基本的排序很简单.只要使用sorted()函数即可返回一个 新的排序的列表 >>>sorted([5, 2, 3, 1, 4]) [1, 2, 3, 4, 5] 咱们也可以使
-
代码分析Python地图坐标转换
最近做项目正好需要坐标的转换 各地图API坐标系统比较与转换; WGS84坐标系:即地球坐标系,国际上通用的坐标系.设备一般包含GPS芯片或者北斗芯片获取的经纬度为WGS84地理坐标系, 谷歌地图采用的是WGS84地理坐标系(中国范围除外); GCJ02坐标系:即火星坐标系,是由中国国家测绘局制订的地理信息系统的坐标系统.由WGS84坐标系经加密后的坐标系. 谷歌中国地图和搜搜中国地图采用的是GCJ02地理坐标系; BD09坐标系:即百度坐标系,GCJ02坐标系经加密后的坐标系; 搜狗坐标系.图
随机推荐
- 正则表达式对qq号码校验
- jQuery中json对象的复制方式介绍(数组及对象)
- 详解打造 Vue.js 可复用组件
- Vbscript生成Excel报表的常用操作总结
- Mybatis 创建方法、全局配置教程详解
- asp.net 购物车实现详细代码
- JS访问SWF的函数用法实例
- md5 16位二进制与32位字符串相互转换示例
- 真正面向对象编程:PHP5.01发布
- Java 项目生成静态页面的代码
- 哲学家就餐问题中的JAVA多线程学习
- vue.js实现数据动态响应 Vue.set的简单应用
- JS的replace方法介绍
- BOOTSTRAP时间控件显示在模态框下面的bug修复
- 浅析BootStrap栅格系统
- jquery控制listbox中项的移动并排序的实现代码
- python将xml xsl文件生成html文件存储示例讲解
- Android实现动态显示或隐藏密码输入框的内容
- python 对象和json互相转换方法
- 在Spring中编写事务的介绍