zoukankan      html  css  js  c++  java
  • 扎实基础深入篇(三):对列表赶尽杀绝

    前言:本文笔记来自于《python编程从入门到实践》,Eric Mathhes著。

    代码改变世界。

    在进入正题之前,我们来聊聊python程序员的那些事吧!

    当你学习python越来越深入的时候,你会逐渐编写越来越长的程序,有必要了解一些代码格式设置的约定。

    要成为专业的程序员,应从现在开始就遵循这些指南,以养成良好的习惯。

    我们需要了解一个东西:python改进提案,也就是PEP8,这将是我们需要遵循的一个著名指南。

    1.建议每级缩进都使用四个空格,即可提高可读性,又留下足够的多级缩进空间。建议不要混合使用制表符和空格,这样会让python感到迷惑。

    2.建议每行都不超过80字符。如果过长的话,读起来不够便捷,也违反了python语言本身的特点:简洁美观。

    3.空行不要滥用,虽然不会影响代码的运行,但会影响代码的可读性。

    4.学会注释,养成一个良好的注释习惯,使别人读你的代码更加容易,这有利于项目的合作。

    5.更多PEP8格式设置指南请访问:https://python.org/dev/peps/pep-0008/

    永远不要忽视上面的话,这些指南将影响一个python程序员的一生,良好的代码风格极为重要。

    在上一篇文章中,我留了三个作业,相信大家都已经很好的完成了:

    创建一个列表,其中包含3-30内能被3整除的数字。

    创建一个列表,其中包含1-10中奇数的立方数

    创建一个列表,其中包含1-20的奇数。

    我们来看第一道题,其实这道题很简单,不必在整除上下功夫,你可以将它换成另外一种形式,在3到30中,从3开始,每过3个数都是可以被3整除的数,这样是不是清晰多了?

    aaa=[ ]
    for a in range(3,31,3):
        aaa.append(a)
    print(aaa)
    输出结果:
    [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]
     
    这当然是普通的方法,换成列表解析的方式自然是这样:
    aaa=[a for a in range(3,31,3)]
    print(aaa)
     
    那么剩下两道题我直接省略普通的方法,我直接写出列表解析方式的答案:
    aaa=[a**3 for a in range(1,10,2)]
    print(aaa)
     
    aaa=[a for a in range(1,20,2)]
    print(aaa)
     
    好了。以上就是三道题的答案,其实很简单。那么,我们知道,列表还有一种操作方式,那就是排序。这儿,我将介绍排序和临时排序两种方式。
     
    一.排序
    使用方法sort()对列表进行永久性排序,按字母顺序排列。
    aa=['pitaya', 'boom', 'pear', 'orange', 'banana', 'apple']
    aa.sort()
    print(aa)
    输出结果:
    ['apple', 'banana', 'boom', 'orange', 'pear', 'pitaya']
    注意,当有两个元素的首字母相同时,比较各元素的第二个字母,以此类推。
     
    如果想要倒着排序,按倒着的字母顺序排列,给括号传递一个参数,reverse=True
    aa=['pitaya', 'boom', 'pear', 'orange', 'banana', 'apple']
    aa.sort(reverse=True)
    print(aa)
    输出结果:
    ['pitaya', 'pear', 'orange', 'boom', 'banana', 'apple']
     
    二.临时排序
    要保留列表元素原来的排列顺序,同时以特定的顺序呈现他们,可使用函数sorted()。
    正着打印:sorted()
    倒着打印:sorted(reverse=True)
     
    当然了,如果你不知道列表有多少个元素,可以使用len()可快速获悉列表的长度:
    aa=['pitaya', 'boom', 'pear', 'orange', 'banana', 'apple']
    print(len(aa))
    输出结果:
    6
     
     
    好了,关于列表我就讲到这儿啦,希望大家能及时巩固列表以及元组的相关知识,这些基础知识很重要。
    我来总结一下相关的知识吧!
    ( ),元组,不可变,tuple
      [  ]  ,列表,可变,list
      {  }  ,集合,无序且不重复,set
     
    set集合不开博客讲,几句话就能理解:
    set集合是无序且不重复元素的集合,比如set1={1,1,2,3},在系统输出的时候,会被过滤成set1={1,2,3}。
    和tuple,list不同的是,set不能使用索引,因为set集合里面的元素是无序的。
     
    set和dict的区别:
    相同点:使用的符号都是大括号{ }
    不同点:set是无序且不重复的集合,dict是以键为key,值为value的字典。
  • 相关阅读:
    spring cloud的pigx版本
    SQL Profiler使用
    postmen简单用法
    T-SQL
    常见问题整理
    数据库 新建维护计划
    c# ABP返回格式自定义,去除固定返回格式
    系统综合实践期末大作业 第32组
    系统综合实践第7次实践作业 第32组
    系统综合实践第6次实践作业 第32组
  • 原文地址:https://www.cnblogs.com/Masterpaopao/p/10022739.html
Copyright © 2011-2022 走看看