最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中順序表的實現(xiàn)簡單代碼分享

 更新時間:2018年01月09日 15:40:00   作者:小黃人python  
這篇文章主要介紹了Python中順序表的實現(xiàn)簡單代碼分享,展示了代碼運行結果,然后分享了相關實例代碼,具有一定借鑒價值,需要的朋友可以參考下

順序表python版的實現(xiàn)(部分功能未實現(xiàn))

結果展示:

代碼示例:

#!/usr/bin/env python
# -*- coding:utf-8 -*-

class SeqList(object):
 def __init__(self, max=8):
  self.max = max  #創(chuàng)建默認為8
  self.num = 0
  self.date = [None] * self.max
  #list()會默認創(chuàng)建八個元素大小的列表,num=0,并有鏈接關系
  #用list實現(xiàn)list有些荒謬,全當練習
  #self.last = len(self.date)
  #當列表滿時,擴建的方式省略
 def is_empty(self):
  return self.num is 0

 def is_full(self):
  return self.num is self.max

 #獲取某個位置的元素
 def __getitem__(self, key):
  if not isinstance(key, int):
   raise TypeError
  if 0<= key < self.num:
   return self.date[key]
  else:
   #表為空或者索引超出范圍都會引發(fā)索引錯誤
   raise IndexError

 #設置某個位置的元素
 def __setitem__(self, key, value):
  if not isinstance(key, int):
   raise TypeError
  #只能訪問列表里已有的元素,self.num=0時,一個都不能訪問,self.num=1時,只能訪問0
  if 0<= key < self.num:
   self.date[key] = value #該位置無元素會發(fā)生錯誤
  else:
   raise IndexError

 def clear(self):
  self.__init__()

 def count(self):
  return self.num

 def __len__(self):
  return self.num

 #加入元素的方法 append()和insert()
 def append(self,value):
  if self.is_full():
   #等下擴建列表
   print("list is full")
   return
  else:
   self.date[self.num] = value
   self.num += 1

 def insert(self,key,value):
  if not isinstance(key, int):
   raise TypeError
  if key<0: #暫時不考慮負數(shù)索引
   raise IndexError
  #當key大于元素個數(shù)時,默認尾部插入
  if key>=self.num:
   self.append(value)
  else:
   #移動key后的元素
   for i in range(self.num, key, -1):
    self.date[i] = self.date[i-1]
   #賦值
   self.date[key] = value
   self.num += 1

 #刪除元素的操作
 def pop(self,key=-1):
  if not isinstance(key, int):
   raise TypeError
  if self.num-1 < 0:
   raise IndexError("pop from empty list")
  elif key == -1:
   #原來的數(shù)還在,但列表不識別他
   self.num -= 1
  else:
   for i in range(key,self.num-1):
    self.date[i] = self.date[i+1]
   self.num -= 1

 def index(self,value,start=0):
  for i in range(start, self.num):
   if self.date[i] == value:
    return i
  #沒找到
  raise ValueError("%d is not in the list" % value)

 #列表反轉
 def reverse(self):
  i,j = 0, self.num - 1
  while i<j:
   self.date[i], self.date[j] = self.date[j], self.date[i]
   i,j = i+1, j-1

if __name__=="__main__":
 a = SeqList()
 print(a.date)
 #num == 0
 print(a.is_empty())
 a.append(0)
 a.append(1)
 a.append(2)
 print(a.date)
 print(a.num)
 print(a.max)
 a.insert(1,6)
 print(a.date)
 a[1] = 5
 print(a.date)
 print(a.count())

 print("返回值為2(第一次出現(xiàn))的索引:", a.index(2, 1))
 print("====")
 t = 1
 if t:
  a.pop(1)
  print(a.date)
  print(a.num)
 else:
  a.pop()
  print(a.date)
  print(a.num)
 print("========")
 print(len(a))

 a.reverse()
 print(a.date)
 """
 print(a.is_full())
 a.clear()
 print(a.date)
 print(a.count())
 """

有關于Python數(shù)據(jù)結構中順序表的實現(xiàn),大家也可以參考本站的另一篇文章Python數(shù)據(jù)結構之順序表的實現(xiàn)代碼示例,當中有對順序表略微詳細的介紹。小編對此知識點理解不夠透徹,以后還會繼續(xù)研究的。

以上就是本文關于Python中順序表的實現(xiàn)簡單代碼分享的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

相關文章

  • python numpy 常用隨機數(shù)的產(chǎn)生方法的實現(xiàn)

    python numpy 常用隨機數(shù)的產(chǎn)生方法的實現(xiàn)

    這篇文章主要介紹了python numpy 常用隨機數(shù)的產(chǎn)生方法的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • Python實現(xiàn)實時顯示進度條的六種方法

    Python實現(xiàn)實時顯示進度條的六種方法

    這篇文章主要為大家介紹了Python實現(xiàn)實時顯示進度條,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助<BR>
    2021-12-12
  • Python數(shù)據(jù)可視化:頂級繪圖庫plotly詳解

    Python數(shù)據(jù)可視化:頂級繪圖庫plotly詳解

    今天小編就為大家分享一篇Python數(shù)據(jù)可視化:頂級繪圖庫plotly詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python可視化神器pyecharts繪制雷達圖

    Python可視化神器pyecharts繪制雷達圖

    這篇文章主要介紹了Python可視化神器pyecharts繪制雷達圖,雷達圖是以從同一點開始的軸上表示的三個或更多個定量變量的二維圖表的形式顯示多變量數(shù)據(jù)的圖形方法
    2022-07-07
  • centos 安裝python3.6環(huán)境并配置虛擬環(huán)境的詳細教程

    centos 安裝python3.6環(huán)境并配置虛擬環(huán)境的詳細教程

    這篇文章主要介紹了centos-安裝python3.6環(huán)境并配置虛擬環(huán)境的詳細教程,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-02-02
  • python3連接mysql獲取ansible動態(tài)inventory腳本

    python3連接mysql獲取ansible動態(tài)inventory腳本

    Ansible Inventory 是包含靜態(tài) Inventory 和動態(tài) Inventory 兩部分的,靜態(tài) Inventory 指的是在文件中指定的主機和組,動態(tài) Inventory 指通過外部腳本獲取主機列表。這篇文章主要介紹了python3連接mysql獲取ansible動態(tài)inventory腳本,需要的朋友可以參考下
    2020-01-01
  • Python實現(xiàn)關鍵路徑和七格圖計算詳解

    Python實現(xiàn)關鍵路徑和七格圖計算詳解

    這篇文章主要為大家詳細介紹了如何利用Python實現(xiàn)關鍵路徑和七格圖計算,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-03-03
  • Python制作簡易版2048小游戲

    Python制作簡易版2048小游戲

    2048作為經(jīng)典的手機端游戲一直深受大家的喜愛,本文將利用Python中的Pygame模塊制作簡單版的2048游戲,感興趣的小伙伴可以了解一下
    2022-07-07
  • pycharm 實現(xiàn)復制一行的快捷鍵

    pycharm 實現(xiàn)復制一行的快捷鍵

    這篇文章主要介紹了pycharm 實現(xiàn)復制一行的快捷鍵,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • django中ORM模型常用的字段的使用方法

    django中ORM模型常用的字段的使用方法

    這篇文章主要介紹了django中ORM模型常用的字段的使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03

最新評論

共和县| 永平县| 高要市| 武邑县| 平顺县| 巴彦淖尔市| 梁河县| 肇庆市| 耒阳市| 丰都县| 安乡县| 池州市| 汨罗市| 江源县| 河东区| 灵台县| 奈曼旗| 大方县| 梁平县| 同江市| 彝良县| 卢氏县| 白沙| 宾阳县| 镇远县| 奉节县| 安福县| 图木舒克市| 呼玛县| 曲靖市| 峨眉山市| 浦城县| 乌审旗| 湖口县| 水城县| 黔西| 剑川县| 孝昌县| 津南区| 湖州市| 临武县|