
一.項目背景
本篇主要想給大家介紹一下我們平常用的最多數(shù)據(jù)結(jié)構(gòu)序列,主要從它的分類和如何自定義序列兩方面給大家講解,屬于Python高階內(nèi)容知識點,希望大家能夠?qū)W有所獲。
二.序列分類
1.容器序列:list、tuple、deque
2.扁平序列:str、bytes、bytearray、array.array
3.可變序列:list, deque,bytearray、array
4.不可變序列:str、tuple、bytes
這里我們分享一下array.array基本使用。

from array import array
#創(chuàng)建array,類型為無符號整型
myarr = array("I")
#添加元素5
myarr.append(5)
#添加元素6
myarr.append(6)
#添加元素4
myarr.append(4)
#添加元素3
myarr.append(3)
#輸出array
print(myarr)
#刪除最后一個元素
myarr.pop()
#輸出array
print(myarr)

三.自定義序列
1.分析abc繼承關(guān)系
》》from collections import abc
》》分析Sequence相關(guān)抽象方法
》》__init__,__reversed__,__getitem__,__len__,__iter__,__contains_

importnumbers
class Stus:
    #初始化操作
    def __init__(self, school_name, study_name, students):
        #初始化學(xué)校名稱
        self.school_name = school_name
        #初始化學(xué)習(xí)小組名稱
        self.study_name = study_name
        #初始化學(xué)生名單
        self.students = students
  
    #反轉(zhuǎn)序列
    def __reversed__(self):
        self.students.reverse()
   
    #獲取元素
    def __getitem__(self, item):
        #獲取類名稱類型
        cls = type(self)
        #判斷item是否為切片類型,主要目的是讓序列支持切片操作
        if isinstance(item, slice):
            #初始化對象
            return cls(school_name=self.school_name, study_name=self.study_name, students=self.students[item])
        #判斷item是否為整型類型,主要目的是讓序列支持切片操作
        elif isinstance(item, numbers.Integral):
            #初始化對象
            return cls(school_name=self.school_name, study_name=self.study_name, students=[self.students[item]])
  
    #返回學(xué)生名單長度
    def __len__(self):
        return len(self.students)
    #轉(zhuǎn)換為可迭代對象
    def __iter__(self):
        return iter(self.students)
    #判斷是否含有該對象
    def __contains__(self, item):
        #判斷是否存在
        if item in self.students:
            #存在返回True
            return True
        else:
            #不存在返回False
            return False
            
            
#初始化學(xué)生名單
students = ["zhangsan", "lisi", "wangwu", "zhaoliu"]
#初始化對象
stus = Stus(school_name="第一中學(xué)", study_name="Physics", students=students)
#反轉(zhuǎn)對象
reversed(stus)
#輸出提示信息
print('*'*30)
#輸出對象長度
print(len(stus))
#輸出提示信息
print('*'*30)
#使用切片獲取對象,遍歷每個對象
for stu in stus[:2]:
    #輸出對象
    print(stu)
#輸出提示信息
print('*'*30)
#判斷對象是否存在
if "zhangsan" in stus:
    print(1)
else:
    print(0)
#輸出提示信息
print('*'*30)
#遍歷每個對象
for stu in stus:
    #輸出對象
    print(stu)
 
                                        
                        聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
                        舉報投訴
                    
                    - 
                                數(shù)據(jù)結(jié)構(gòu)
                                +關(guān)注關(guān)注 3文章 573瀏覽量 41260
- 
                                序列
                                +關(guān)注關(guān)注 0文章 70瀏覽量 20083
- 
                                python
                                +關(guān)注關(guān)注 56文章 4849瀏覽量 89279
發(fā)布評論請先 登錄
相關(guān)推薦
                    熱點推薦
                  HarmonyOS應(yīng)用自定義鍵盤解決方案
自定義鍵盤是一種替換系統(tǒng)默認鍵盤的解決方案,可實現(xiàn)鍵盤個性化交互。允許用戶結(jié)合業(yè)務(wù)需求與操作習(xí)慣,對按鍵布局進行可視化重構(gòu)、設(shè)置多功能組合鍵位,使輸入更加便捷和舒適。在安全防護層面,自定義鍵盤可以
    
    
 
    【Python編程思想】B站最全的Python視頻課程,趕快來體驗-方法、屬性和迭代器-04-自定義序列-1
           編程語言行業(yè)芯事經(jīng)驗分享       
       
           
               蒙娜麗寧           
           
   
             發(fā)布于 :2022年02月28日 13:47:15           
        
    【Python編程思想】B站最全的Python視頻課程,趕快來體驗-方法、屬性和迭代器-04-自定義序列-2
           編程語言行業(yè)芯事經(jīng)驗分享       
       
           
               蒙娜麗寧           
           
   
             發(fā)布于 :2022年02月28日 13:47:51           
       E5022A/B和E5023A用戶自定義序列編程手冊
This manual provides the information for programmers to create his or her own programs. This manual includes sample programs in Visual Basic and function references.
    
                發(fā)表于 08-19 14:18        
                    
    
Python學(xué)習(xí)要點:自定義序列實現(xiàn)切片功能
基于原生的序列類型(如字符串、列表、元組),那么,我們是否可以定義自己的序列類型并讓它支持切片語法呢?更進一步,我們是否可以自定義其它對象(如字典)并讓它支持切片呢? 1、魔術(shù)方法:_
    
                發(fā)表于 11-24 11:51        
        ?961次閱讀            
    
目前S型數(shù)字源表上位機軟件實現(xiàn)的功能有哪些
目前S型數(shù)字源表上位機軟件已實現(xiàn)了哪些功能? ①、I-t、V-t、R-t測試; ②、序列掃描; ③、自定義序列掃描; ④、BJT掃描; ⑤、MOS掃描; ⑥、LIV測試; 相關(guān)功能均具有繪圖及數(shù)據(jù)
    
                發(fā)表于 10-23 13:31        
        ?711次閱讀            
    
自定義視圖組件教程案例
自定義組件 1.自定義組件-particles(粒子效果) 2.自定義組件- pulse(脈沖button效果) 3.自定義組件-progress(progress效果) 4.
    
                發(fā)表于 04-08 10:48        
                ?15次下載    
    
如何使用周期性空間頻率表面來建模旋轉(zhuǎn)對稱曲面的不規(guī)則度?
具體方法為使用專用的自定義序列模式表面DLL(常規(guī)偶次非球面結(jié)合Zernike項與矢高周期變化得到)建模該中空間頻率表面。
    
    
自定義算子開發(fā)
一個完整的自定義算子應(yīng)用過程包括注冊算子、算子實現(xiàn)、含自定義算子模型轉(zhuǎn)換和運行含自定義op模型四個階段。在大多數(shù)情況下,您的模型應(yīng)該可以通過使用hb_mapper工具完成轉(zhuǎn)換并順利部署到地平線芯片上……
    
    
                     
    
 
           
        
 
         什么是自定義序列
什么是自定義序列 
                 
  
            
             
             
                 
             工商網(wǎng)監(jiān)
工商網(wǎng)監(jiān)
        
評論