在元组拆包(unpack)时,一般情况下,“=”左边的变量数量等于元组元素个数。
但如果我只是想使用其中几个的话,不需要的元素就没必要给它一个变量(因为这会占用内存),那就用“_”取代变量变量名。
如果不需要的元素是连续的,不用写多个“_”,直接写一个“*_”就行了。
另外,如果我想把多个元素分配给一个变量,而不是多个变量,就用“*p”,p为变量名。
举例子如下:
t = (2, 5, 8, 9, 7)
print('t:', t)
# 运行结果如下:
t: (2, 5, 8, 9, 7)
###################################################
a, b, c, d, e = t
print('a:', a, 'b:', b, 'c:', c, 'd:', d, 'e:', e)
# 运行结果如下:
a: 2 b: 5 c: 8 d: 9 e: 7
###################################################
a, _, c, _, e = t
print('a:', a, 'c:', c, 'e:', e)
# 运行结果如下:
a: 2 c: 8 e: 7
###################################################
a, _, _, _, e = t
print('a:', a, 'e:', e)
# 运行结果如下:
a: 2 e: 7
###################################################
a, *_, e = t
print('a:', a, 'e:', e)
# 运行结果如下:
a: 2 e: 7
###################################################
a, *p, e = t
print('a:', a, 'p:', p, 'e:', e)
# 运行结果如下:
a: 2 p: [5, 8, 9] e: 7