变量名前加 *

*a, = 'abc'  # 如果不加 *a 后面的 逗号,报错 带星号的赋值目标必须位于列表或元组中
print(a)  # ['a', 'b', 'c']

*a, b = 'ABC'
print(a)  # ['A', 'B']
print(b)  # C

*a, b = 'ABCD'
print(a)  # ['A', 'B', 'C']
print(b)  # d

a, *b = "ABCD"
print(a)  # A
print(b)  # ['B', 'C', 'D']

a, *b, c = "ABCD"
print(a)  # A
print(b)  # ['B', 'C']
print(c)  # D

[*a] = 'ABC'
print(a)  # ['A', 'B', 'C']

[a, *b] = 'ABC'
print(a)  # A
print(b)  # ['B', 'C']

[a, *b, c] = 'ABC'
print(a)  # A
print(b)  # ['B']
print(c)  # D

(a, *b) = "This is a cat".split()
print(a)  # This
print(b)  # ['is', 'a', 'cat']

  相当于变量名前加 * 运算符后,该变量是列表变量,可接收不固定数量参数

优先分配其它变量,剩余的给带 * 变量

a,*b,c = 'AB'
print(a)  # A
print(b)  # []
print(c)  # B

  

posted @ 2023-05-18 21:10  sangern  阅读(52)  评论(0)    收藏  举报