Python -- 切片、迭代
2019-02-24 本文已影响9人
2023开始学
切片
1、取一个list或tuple的部分元素,采用切片方式:
L[0:3]:表示从索引0开始取,直到索引3为止,但不包括3
如果第一个索引是0,可以省略。如 L[:3]
L=list(range(1,20))
print('L:',L)
print('下面这个很重要,倒序取出列表中所有的值,-1表示倒序')
print('L[::-1]:',L[::-1])#倒序取所有值
print('L[::-1][:3]:',L[::-1][:3])#先倒序,然后取前三个值
print('L[:3]:[::-1]',L[:3][::-1])#先取前三个值,然后倒序排列
print(" ")
print('L[0:10]:',L[0:10])#索引值从0开始
print('L[:10]:',L[:10])#索引值从0开始,,那么0可以省略
print('L[1:12]:',L[1:12])#索引值从1开始
print('L[3:12]:',L[3:12])
print('L[1:20:2]:',L[1:20:2])#索引值从1开始,,每2个数取一个
print('L[1:20:5]:',L[1:20:5])#索引值从1开始,,每5个数取一个
print(' ')
print('倒数切片:')
print('L[-3:-1]:',L[-3:-1])#索引为-3,-2,共计2个元素
print('L[-3:]:',L[-3:])#索引为-3,-2,-1,共计3个元素
print('L[-3:0]:',L[-3:0]) #这种有问题,上面一行省略的是代表什么
运行结果如下:
image.png
2、tuple也可用切片操作,只是操作结果仍是tuple
3、字符串也可用切片操作,字符串也可看做一个list,每个字符就是一个元素
4、很多编程语言中,针对字符串的各种截取函数,目的就是对字符串切片。
Python没有针对字符串的截取函数,只需要切片一个操作即可实现。
迭代
1、如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration)
2、C语言和JAVA中是通过下标进行迭代
Python的for循环抽象程度高于C的for循环,因为Python的for循环不仅可以用在list或tuple上,还可以作用在其他可迭代对象上。
3、list这种数据类型虽然有下标,但很多其他数据类型是没有下标的,但是,只要是可迭代对象,无论有无下标,都可以迭代,比如dict就可以迭代
默认迭代的是key: for k in d.keys( )
迭代值values:for v in d.values( )
迭代k, v: for k, v in d.items( )
4、由于字符串也是可迭代对象,因此,也可以作用于for循环