單源最短路演算法
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)必須是唯一的。