我们是使用列表的过程中,经常会取内部的某个值,通常第一反应会用列表的索引去取值,比如下面的列表,如果我们要取第2个元素,可以输入list[1]来获取。
list1=['get',1,2,'hello',5]
print(list1[1])
这是我们最常用的思路,但除了这种方法之外,对于元素比较少的情况,我们还有另外一种方法,就是拆包,或者叫做分解元素,比如下面的列表:
list2=[1,2,5]
a,b,c=list2
我们采用上面的方式,同样可以达到获取某个元素的目的,需要注意的是,左边元素的个数,需要与实际列表的元素数量是一一对应的。
除了数字列表之外,只要是可迭代的元素都可以采用拆包的方式进行分解,比如某个单词
word='hello'
a,b,c,d,e=word
输出啊a-e中的任一个元素,都会对应word中的一个字母
-------------------------------------------------------------------------------------------------------------------------------------
上面列举了已知数量的可迭代元素的分解,对于不确定个数的可迭代对象可以使用吗?答案是肯定的,我们可以用*args的方式来代替中间不确定的数量,比如下面的代码:
list1=['get',1,2,'hello',5]
b,*args,c=list1
print(b,c)
输出的结果就是第一个和最后一个元素。
这种区别于常规的代码思路,相当于赋值的逆向操作,你学会了吗?