Python 函数的可变参数、切片、迭代和列表生成式
2020-06-28 15:04:15 来源:易采站长站 作者:易采站长站整理
1. 函数的可变参数
def fun(*args):
print(args)
让一个函数能接受任意个参数,可以定义一个可变参数。可变参数的名字前面有个
* 号,我们可以传入0个、1个或多个参数给可变参数。Python解释器会把传入的一组参数组装成一个tuple传递给可变参数,因此,在函数内部,直接把变量
args 看成一个
tuple 就好了。2. 切片
L = range(1, 101) # L = [1, 2, 3, ..., 100]print(L[0:3]) # 等同于L[:3],取列表中索引值为0, 1, 2 的元素
print(L[:]) # 从头到尾,复制一个新的L
print(L[::2]) # 也可以有三个参数,第三个参数表示每N个取一个,代表步长
把list换成tuple,切片操作完全相同,只是切片的结果也变成了tuple。
倒序切片:记住倒数第一个元素的索引是-1。
L = ['Adam', 'Lisa', 'Bart', 'Paul']L[-2:] # ['Bart', 'Paul']L[:-2] # ['Adam', 'Lisa']L[-3:-1] # ['Lisa', 'Bart']L[-4:-1:2] # ['Adam', 'Bart']字符串切片:字符串 ‘xxx’和 Unicode字符串 u’xxx’也可以看成是一种list,每个元素就是一个字符。因此,字符串也可以用切片操作,只是操作结果仍是字符串。
3. 迭代
在Python中,如果给定一个 list 或 tuple,可以通过 for 循环来遍历这个 list 或 tuple,这种遍历我们成为迭代(Iteration)。在Python中,迭代是通过
for ... in 来完成的。实际上,Python 的 for 循环不仅可以用在 list 或 tuple上,还可以作用在其他任何可迭代对象上。果一个对象说自己可迭代,那我们就直接用 for 循环去迭代它,可见,迭代是一种抽象的数据操作,它不对迭代对象内部的数据有任何要求。索引迭代: Python中,迭代永远是取出元素本身,而非元素的索引。当需要在迭代过程中获取元素索引时,调用
enumerate() 函数。其实,索引迭代也不是真的按索引访问,而是由
enumerate() 函数自动把每个元素变成
(index, element) 这样的tuple,再迭代,就同时获得了索引和元素本身。
L = ['Baidu', 'Tencent', 'Ali']for index, name in enumerate(L):
print(index + ' - ' + name)
zip() 函数:可以把两个等长的 list 合并为一个:
暂时禁止评论













闽公网安备 35020302000061号