这是关于Python的第11篇文章,主要介绍下数据结构的3个小技巧。

排序:

使用sorted函数实现排序。

sorted函数按照长短、大小、英文字母的顺序给每个列表的元素进行排序。这个函数经常在数据展示中使用,其中很重要的一点是sorted函数不会改变列表本身,相当于先复制列表然后做排序整理。

 list = [2,45,21,3,2,1]
 print(sorted(list))
 # 数字默认从小到大排列
 print(sorted(list,reverse = True))
 # reverse,逆序排列
 print(list)
 # sorted函数不改变原列表

推导式(列表的解析式):

将10个元素装进列表中,看如下两种写法。

 # 普通写法
 a = []
 for i in range(1,11):
     a.append(i)
     # append方法用于在列表末尾添加新的对象
 print(a)

 # 推导式
 b = [i for i in range(1,11)]
 print(b

第一种是普通写法,先创建一个空列表,然后一个一个装进去。第二种是推导式,比较简洁明了。当然,推导式在效率上也会比普通方法好很多,我们可以来测算下时间:

 import time

 # 普通写法
 a = []
 t1 = time.clock()
 for i in range(1,20000):
     a.append(i)
 print(time.clock() - t1)

 # 推导式
 t2 = time.clock()
 b = [i for i in range(1,20000)]
 print(time.clock() - t2)

循环列表时获取元素的索引:

比如,在字母表 letters = ['a','b','c','d','e','f','g'] 中,得到每个元素的位置。

 letters = ['a','b','c','d','e','f','g']
 for num,letter in enumerate(letters):
     # enumerate函数用于遍历序列中的元素以及它们的下标
     print(letter,'在第',num + 1,'个位置')

后续,开始接触Python中的类。

操作环境:Python版本,3.6;PyCharm版本,2016.2;电脑:Mac

-----   End   -----

作者:杜王丹,微信公众号:杜王丹,互联网产品经理。

Python入门:数据结构的3个小技巧的更多相关文章

  1. Python对list操作的一些小技巧

    Python对list操作的一些小技巧  由于要搞数学建模,于是从熟悉已久的C++转战Python.虽然才上手,但是Python的语法糖就让我大呼过瘾.不得不说相比于C/C++,Python对于数据的 ...

  2. Python 入门之代码块、小数据池 与 深浅拷贝

    Python 入门之代码块.小数据池 与 深浅拷贝 1.代码块 (1)一个py文件,一个函数,一个模块,终端中的每一行都是代码块 (代码块是防止我们频繁的开空间降低效率设计的,当我们定一个变量需要开辟 ...

  3. http://www.yyne.com/python使用-urllib-quote-进行-url-编码小技巧/

    http://www.yyne.com/python使用-urllib-quote-进行-url-编码小技巧/

  4. python 设计及调试的一些小技巧

    在“笨办法学习python”中介绍了一些设计函数以及调试技巧: 参考网址:http://www.jb51.net/shouce/Pythonbbf/latest/ex36.html If 语句的规则¶ ...

  5. Python中Template使用的一个小技巧

    Python中Template是string中的一个类,可以将字符串的格式固定下来,重复利用. from string import Template s = Template("there ...

  6. python 数据结构中被忽视的小技巧

    一.一个包含N个元素的字符串.元组.序列.以及任何可迭代对象均可以拆分成N个单独的“变量” 1.字符串的拆分 #字符串 In [10]: s="abdefg" In [11]: o ...

  7. Python最好IDE:Pycharm使用小技巧总结,让你写代码更为舒适

  8. 今天整理了几个在使用python进行数据分析的常用小技巧、命令。

    提高Python数据分析速度的八个小技巧 01 使用Pandas Profiling预览数据 这个神器我们在之前的文章中就详细讲过,使用Pandas Profiling可以在进行数据分析之前对数据进行 ...

  9. Python爬虫简单入门及小技巧

    刚刚申请博客,内心激动万分.于是为了扩充一下分类,随便一个随笔,也为了怕忘记新学的东西由于博主十分怠惰,所以本文并不包含安装python(以及各种模块)和python语法. 目标 前几天上B站时看到一 ...

随机推荐

  1. 20145209刘一阳《JAVA程序设计》第十五周补充测试

    第十五周补充测试 1.实验楼Linux中可以通过(ABC)查看用户登录情况. A .who B .who am i C .who mom likes D .who are you 2.在 Linux ...

  2. c++ STL总结

    https://blog.csdn.net/piaoxuezhong/article/details/54348787 http://net.pku.edu.cn/~yhf/UsingSTL.htm ...

  3. 从OEL5中启动简单的dns服务

    在OEL5中,有一个 dnsmasq,可以适合小型的实验性的dns设置. 如果可以看到类似如下的内容,说明dnsmasq已经设置好了. [root@dnssvr ~]# rpm -qa dnsmasq ...

  4. 【转】QT事件传递与事件过滤器

        [概览] 1.重载特定事件函数.    比如: mousePressEvent(),keyPressEvent(),  paintEvent() .     2.重新实现QObject::ev ...

  5. 13-[Mysql]--pymysql模块

    1.介绍 之前我们都是通过MySQL自带的命令行客户端工具mysql来操作数据库,那如何在python程序中操作数据库呢?这就用到了pymysql模块,该模块本质就是一个套接字客户端软件,使用前需要事 ...

  6. JDBC注册驱动的三种方式(MySQL)

    第一种:通过反射Class.forName("com.mysql.jdbc.Driver"); 第二种:通过DriverManage的静态方法DriverManager.regis ...

  7. 关于Netty的学习前总结

    摘要 前段时间一直在学习netty因为工作忙的原因没有写一个学习的总结,今天抽个空先把总结写了吧.事先声明,本文不会详细的介绍每一个部分不过每个部分都会附上讲解详细的url.本文只是为了解释通Nett ...

  8. 基础:enctype 包含上传input时必须(解决图片上传不成功问题)

    今天在做一个上传图片的时候,死活就是看不到传过去的值..对比了写法没发现问题,后来抱着试试看的心,查看下了 from里的写法.发现缺少了enctype.不了解这个用法,特意百度了下. enctype ...

  9. mysql批量新增或者更新

    1.批量更新或者新增 1.单个新增或者更新 keyProperty新增完之后返回Id值

  10. day12生成器

    迭代器 __iter__() 获取迭代器 __next__() 下一个 生成器 本质就是迭代器 两种方式写生成器 1. 生成器函数 2. 生成器表达式 生成器函数 函数内部有yield. yield返 ...