高级特性


*一行代码能解决的问题 , 绝不用五行代码 . 代码越少 , 开发效率越高

切片

L = ['Michael','Sarah','Tracy','Bob','Jack']

L[0:3]

['Michael' , 'Sarah' , Tracy]


L[0:3] 表示 , 从索引0开始取 , 直到索引3为止 , 但不包括索引3 , 即索引 0 , 1, 2 , 正好3个元素

如果第一个索引是0 , 还可以省略 :

L[:3]

['Michael' , 'Sarah' , 'Tracy']


可以从1开始 , 提取两个元素出来

L[1:3]

['Sarah' , 'Tracy']


同样支持倒数切片 , 倒数第一个元素索引是-1:

L[-2:]

['Bob' , 'Jack']

L[-2:-1]

['Bob']



迭代

我们可以通过 for 循环来遍历 list 或 tuple ,  通常语法为 for ...(存入目标) in ...(需要迭代的数组)

L = [1,2,3,4,5]

for num in L :

    print (L)

1

2

3

4

5


小结: 任何可迭代对象都可以作用于for循环 , 包括我们自定义的数据类型 , 只要符合迭代条件 , 就可以使用for循环



列表生成式

可以用来创建list的生成式

list (range (1 , 11))

[1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 ]


x * x for x in range(1,11)

[1 , 4 , 9 , 16 , 25 , 36 , 49 , 64 , 81 , 100]


套用两层生成全排列 :

m + n for m in "ABC" for n in "XYZ" 

["AX" , "AY" , "AZ" , "BX" , "BY" , "BZ" , "CX" , "CY" , "CZ"]



生成器

一边循环一边计算的机制 , 称为生成器 generator

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 函数 调用函数要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数 如果对要调用的函数...
    朔野阅读 382评论 0 0
  • Python 是一种相当高级的语言,通过 Python 解释器把符合语法的程序代码转换成 CPU 能够执行的机器码...
    Python程序媛阅读 1,942评论 0 3
  • 切片类似 php的截取(字符串/数组截取) 常用于list, tupple,字符串的操作 L = ['Michae...
    MORESIR阅读 187评论 0 0
  • 1.切片:取一个list或tuple的部分元素是非常常见的操作,比如说取list中的前n个元素,我们用循环来实现这...
    4everwrf阅读 153评论 0 1
  • 概述 所说高级特性包括切片、迭代、列表生成式、迭代器、生成器。 切片 Python学习一(基础)中列表和元组的基本...
    coderLZ阅读 308评论 0 1