Python简单处理坐标排序问题示例

yipeiwu_com7年前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代码优化小技巧

简单了解python代码优化小技巧

对比以下两种写法,思考一下为何可以这样写。 成绩在 [0,50)、[50,60)、[60,80)、[80,100)、100、其它 score = float(input("请输入你的...

Pytorch实现各种2d卷积示例

普通卷积 使用nn.Conv2d(),一般还会接上BN和ReLu 参数量NNCin*Cout+Cout(如果有bias,相对来说表示对参数量影响很小,所以后面不考虑) class C...

Python编程实现删除VC临时文件及Debug目录的方法

本文实例讲述了Python编程实现删除VC临时文件及Debug目录的方法。分享给大家供大家参考,具体如下: # *_* coding=gb2312 *-* import os imp...

浅谈DataFrame和SparkSql取值误区

浅谈DataFrame和SparkSql取值误区

1、DataFrame返回的不是对象。 2、DataFrame查出来的数据返回的是一个dataframe数据集。 3、DataFrame只有遇见Action的算子才能执行 4、Spark...

Python paramiko模块使用解析(实现ssh)

开发堡垒机之前,先来学习Python的paramiko模块,该模块基于SSH用于连接远程服务器并执行相关操作 安装paramiko模块 pip3 install paramiko...