美文网首页
Python高级特性-1

Python高级特性-1

作者: MrTrying | 来源:发表于2018-07-21 00:01 被阅读35次

切片(Slice)

对经常取指定索引范围的操作,需要用循环的操作,Python提供了切片(Slice)操作符,能大大简化这种操作。

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

L[startIndex:endIndex]为切片,startIndex为起始位置索引,endIndex为结束位置(但不包括endIndex的元素),如果startIndex不写,默认为0。

L[:3]#即['Michael', 'Sarah', 'Tracy']
L[1:3]#即['Sarah', 'Tracy']

startIndexendIndex支持负数,同样startIndex为起始位置索引,endIndex为结束位置(但不包括endIndex的元素),负数即为获取倒数元素,-1表示倒数第一个也就是最后一个。如果endIndex不写,默认为-1。

L[-3:]#即['Tracy', 'Bob', 'Jack']
L[-3:-1]#即['Tracy', 'Bob']

如果startIndexendIndex都不填写相遇复制一个list

L[startIndex:endIndex:step]其中step表示每几个取一个

L[::2]#表示每两个去一个也就是['Michael', 'Tracy', 'Jack']

tuplelist的区别就是tuple不可变切片之后仍然是tuple。另外,字符串也可以看成是一种list,每个字符就是一个元素,切片之后是字符串

迭代(Iteration)

Python的迭代通过for...in...完成的,list可以直接使用来遍历元素,dirt同样可以使用迭代操作

d = {"aa": 1, "bb": 2, "cc": 3}
for key in d:
    print(key)

上面是遍历dirt的key,如果要遍历dirt的value使用for value in d.values(),如果需要同时遍历key和value,可以使用for key, value in d.items()

字符串也是可迭代类型,同样可以使用,例如:for c in 'mrtrying'

只要是可以迭代的对象,就可以使用迭代操作,通过collections模块的Iterable类型判断:

from collections import Iterable

b1 = isinstance('abc', Iterable)  # str是否可迭代
print(b1)
b2 = isinstance([1,2,3], Iterable) # list是否可迭代
print(b2)
b3 = isinstance(123, Iterable) # 整数是否可迭代
print(b3)

在Python中可能出现需要listindex同时需要元素的情况,为此提供了enumerate方法,来同时迭代listindex和对应元素

l = list(range(100, 110))
for i, value in enumerate(l):
    print(i, value)

相关文章

  • Python高级特性-1

    切片(Slice) 对经常取指定索引范围的操作,需要用循环的操作,Python提供了切片(Slice)操作符,能大...

  • python高级特性(1)

    一、切片 取一个list或tuple的部分元素是非常常见的操作。比如一个list如下: 取前三个元素,该怎么做?笨...

  • Python学习(三)

    Python的高级特性 python中有很多高级特性,比起C/C++来说要简单许多,运用起来十分方便。 切片 通常...

  • Python高级特性

    切片slice取指定索引范围的操作:[0:10:2]-->意为从第一个元素到第11个元素,元素之间隔2 迭代ite...

  • python 高级特性

    1.切片对取数据很方便,如取一个list的前n个元素,没有接触到切片的,可以使用循环,但是用切片就会很简单: 也支...

  • Python高级特性

    切片 迭代 列表生成式 生成器 generator generator:按照某种算法推算出来结果,是一种一边循环一...

  • Python——高级特性

    #!/usr/bin/python # -*- coding:UTF-8 -*- __author__ = 'wx...

  • python高级特性

    python高级特性 iteration迭代 对list,tuple的遍历被称为迭代。对list实现类似Java那...

  • python高级特性

    一、列表生成器 1. 形式: [表达式 for ... in 可迭代类型 [if expression] ] 2....

  • Python 高级特性

    切片 迭代 列表生成式 生成器 迭代器

网友评论

      本文标题:Python高级特性-1

      本文链接:https://www.haomeiwen.com/subject/nnecmftx.html