1. 程式人生 > 其它 >單源最短路演算法

單源最短路演算法

data type

Python3 中有六個標準的資料型別:

  • Number(數字)
  • String(字串)
  • List(列表)
  • Tuple(元組)
  • Set(集合)
  • Dictionary(字典)

Python3 的六個標準資料型別中:

  • 不可變資料(3 個):Number(數字)、String(字串)、Tuple(元組);
  • 可變資料(3 個):List(列表)、Dictionary(字典)、Set(集合)。

Python3 中,bool 是 int 的子類,True 和 False 可以和數字相加, True1、False0 會返回 True,但可以通過 is 來判斷型別。

String

Python中的字串用單引號 '

 或雙引號 " 括起來,同時使用反斜槓 ** 轉義特殊字元。

字串的擷取的語法格式如下:

變數[頭下標:尾下標]

索引值以 0 為開始值,-1 為從末尾的開始位置。

加號 + 是字串的連線符, 星號 **** 表示複製當前字串,與之結合的數字為複製的次數。例項如下:

#!/usr/bin/python3

str = 'Runoob'

print (str)          # 輸出字串
print (str[0:-1])    # 輸出第一個到倒數第二個的所有字元
print (str[0])       # 輸出字串第一個字元
print (str[2:5])     # 輸出從第三個開始到第五個的字元
print (str[2:])      # 輸出從第三個開始的後的所有字元
print (str * 2)      # 輸出字串兩次,也可以寫成 print (2 * str)
print (str + "TEST") # 連線字串

List

List(列表) 是 Python 中使用最頻繁的資料型別。

列表可以完成大多數集合類的資料結構實現。列表中元素的型別可以不相同,它支援數字,字串甚至可以包含列表(所謂巢狀)。

列表是寫在方括號 [] 之間、用逗號分隔開的元素列表。

和字串一樣,列表同樣可以被索引和擷取,列表被擷取後返回一個包含所需元素的新列表。

列表擷取的語法格式如下:

變數[頭下標:尾下標]

索引值以 0 為開始值,-1 為從末尾的開始位置。

加號 + 是列表連線運算子,星號 ***** 是重複操作。如下例項:

List 內建了有很多方法,例如 append()、pop() 等等

Python 列表擷取可以接收第三個引數,引數作用是擷取的步長,以下例項在索引 1 到索引 4 的位置並設定為步長為 2(間隔一個位置)來擷取字串:

如果第三個引數為負數表示逆向讀取,以下例項用於翻轉字串:

def reverseWords(input):
     
    # 通過空格將字串分隔符,把各個單詞分隔為列表
    inputWords = input.split(" ")
 
    # 翻轉字串
    # 假設列表 list = [1,2,3,4],  
    # list[0]=1, list[1]=2 ,而 -1 表示最後一個元素 list[-1]=4 ( 與 list[3]=4 一樣)
    # inputWords[-1::-1] 有三個引數
    # 第一個引數 -1 表示最後一個元素
    # 第二個引數為空,表示移動到列表末尾
    # 第三個引數為步長,-1 表示逆向
    inputWords=inputWords[-1::-1]
 
    # 重新組合字串
    output = ' '.join(inputWords)
     
    return output
 
if __name__ == "__main__":
    input = 'I like runoob'
    rw = reverseWords(input)
    print(rw) # runoob like I

Tuple

元組(tuple)與列表類似,不同之處在於元組的元素不能修改。元組寫在小括號 () 裡,元素之間用逗號隔開。

元組中的元素型別也可以不相同:

Set

集合(set)是由一個或數個形態各異的大小整體組成的,構成集合的事物或物件稱作元素或是成員。

基本功能是進行成員關係測試和刪除重複元素。

可以使用大括號 { } 或者 set() 函式建立集合,注意:建立一個空集合必須用 set() 而不是 { },因為 { } 是用來建立一個空字典。

建立格式

Dictionary

字典(dictionary)是Python中另一個非常有用的內建資料型別。

列表是有序的物件集合,字典是無序的物件集合。兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。

字典是一種對映型別,字典用 { } 標識,它是一個無序的 鍵(key) : 值(value) 的集合。

鍵(key)必須使用不可變型別。

在同一個字典中,鍵(key)必須是唯一的。