python 结构(序列分解)

一、结构

结构的主要作用是将一个序列分解成若干个单独的变量。

1、对列表进行分解

python 结构(序列分解)_数据保存

2、对元组进行分解

python 结构(序列分解)_python_02

3、对字典进行分解

python 结构(序列分解)_文件句柄_03

4、对集合进行分解

python 结构(序列分解)_生成器_04

5、对字符串进行分解

python 结构(序列分解)_生成器_05

6、对文件句柄进行分解

python 结构(序列分解)_文件句柄_06

7、对生成器进行分解

代码部分:

# 根据用户指定的参数,获取该参数在文件中的前3行内容
from collections import deque

def search(lines,pattern,history=3):
    previous_lines = deque(maxlen=history)  # 设置队列的最大长度
    for line in lines:
        if pattern in line:  # 找到用户指定的参数
            yield line,previous_lines
        previous_lines.append(line)  # 将数据保存到队列中

with open('/home/t.txt') as f:
    for line,prevlines in search(f,'python',3):
        for pline in prevlines:
            print(pline,end='')  # 打印前三行内容
        print(line,end='')
        print('-'*20)

打印结果如下:

python 结构(序列分解)_数据保存_07

8、在进行分解操作时,等号左边的变量数量必须与等号右边序列的值的数量相等,否则会报如下错误。

python 结构(序列分解)_数据保存_08

二、关于结构的高级操作

从任意长度的序列中分解元素,这里仅以list作为演示。

1、只获取序列中前两个元素

python 结构(序列分解)_生成器_09

2、只获取序列中最后两个元素

python 结构(序列分解)_生成器_10

3、获取序列中前两个元素和最后一个元素

python 结构(序列分解)_元组_11

4、获取第一个元素和最后两个元素

python 结构(序列分解)_python_12