一、序列解析
序列:指的是一块可存放多个值的连续内存空间,这些值按一定顺序排列,可通过每个值所在位置序号(索引)访问它们。Python中的序列有【列表、元祖、字符串】
二、序列解包:
序列解包:适用于【元祖、列表、字典】。把一个序列直接赋值给多个变量,此时会把序列中的各个元素依次赋值给每个变量,但是元素的个数需要和变量个数相同(可以用 ”*” 表示不定数量)。序列解包用于字典时,默认是对“键”进行操作;如果需要对键值对操作,则需要使用items();如果需要对"值"进行操作,则需要使用values()。
a = ('打篮球','游泳','跑步') b = ['苹果','梨子','桃子'] c = {'name':"佩琪",'age':3,'job':"学生"} # s1,s2,s3 = a # s1,s2,s3 = b # s1,s2,s3 = c # s1,s2,s3 = c.values() # 取“值” s1,s2,s3 = c.items() # 取“键值对” print(s1,s2,s3) >>打篮球 游泳 跑步 >>苹果 梨子 桃子 >>name age job >>佩琪 3 学生 >>('name', '佩琪') ('age', 3) ('job', '学生')
a = ('打篮球','游泳','跑步','打羽毛球','打乒乓球','画画') # s1,s2,*s3 = a # 用 “*”表示不定数量 s1,*s2,s3 = a print(s1,s2,s3) >>打篮球 游泳 ['跑步', '打羽毛球', '打乒乓球', '画画'] >>打篮球 ['游泳', '跑步', '打羽毛球', '打乒乓球'] 画画
练习:
1.假如一个字符串 ‘ABCDEFGH’,要输出99乘法表的格式。
s = 'ABCDEFGH' while s: # x, s = s[0], list(s[1:]) # 一般写法 a, *s = s # 使用序列解包 print(a, s) >>A ['B', 'C', 'D', 'E', 'F', 'G', 'H'] >>B ['C', 'D', 'E', 'F', 'G', 'H'] >>C ['D', 'E', 'F', 'G', 'H'] >>D ['E', 'F', 'G', 'H'] >>E ['F', 'G', 'H'] >>F ['G', 'H'] >>G ['H'] >>H []
三、序列封包
序列封包:把多个值赋给一个变量时,Python会自动把多个值封装成一个元祖。
a = 1,2,3,4,5 demo = a print(demo) >>(1, 2, 3, 4, 5)