Python主要有三種數據類型:字典、列表、元組。其分別由花括號,中括號,小括號表示。
列表/元組/集合/字典的理解
(1)列表是任意對象的序列。列表用方括號表示。
(2)將一組值打包到一個對象中,稱為元組。元組用小括號表示。元組和列表的大部分操作相同。但是,列表是不固定的,可以隨時插入,刪除;而元組一旦確認就不能夠再更改。所以,系統為了列表的靈活性,就需要犧牲掉一些內存;而元組就更為緊湊。(注意,元組在定義過程中,字符串必須用單引號‘擴起來。)
(3)與列表和元組不同,集合是無序的,也不能通過索引進行訪問。此外,集合中的元素不能重復。
(4)字典就是一個關聯數組或散列表,其中包含通過關鍵字索引的對象。用大括號表示。與集合相比,通過關鍵字索引,所以比集合訪問方便。字典是Python解釋器中最完善的數據類型。
- 元組(tuple):
元組常用小括號表示,即:(),元素加逗號,是元組的標識。
#定義一個元組 #tuple = 'a', tuple = ('a','b','c','d','e','f','g') #常規來說,定義了一個元組之后就無法再添加或修改元組的元素,但對元組切片可以添加會修改元組的元素。 print tuple[1:5] tuple = tuple[:2]+('h')+temp[2:] print(tuple) #使用for循環進行遍歷元組 for each in tuple: print each #通過range()函數和for循環獲取元組內元素的序號 for index in range(len(tuple)): print tuple[index]
- 列表(list):
列表常用方括號表示,即:[];
創建一個列表,只要把用逗號分隔的不同的數據項使用方括號括起來即可。
例如:
1 list1 = ['a','b','c',1,3,5] 2 list2 = [1,2,3,4,5,6] 3 list3 = ["abc","bcd","cde"]
遍歷列表:(len(each):表示每個迭代變量的長度,each:表示每個迭代的變量)
1 list1 = ['a','b','c',1,3,5] 2 for each in list1 3 print(each,len(each))
列表中常用的函數:
cmp(list1,list2):比較兩個列表的元素
len(list):返回列表元素個數
max(list):返回列表元素最大值
min(list):返回列表元素最小值
list(tuple):將元組轉換為列表
列表中常用的9個方法:
list.append(obj):在列表的末尾添加新的對象
list.count(obj):統計某個元素在列表中出現的次數
list.extend(list):在列表末尾添加包含多個值的另一個序列,有擴展列表的作用
list.insert(index,obj):將對象插入列表中的第index元素之前
list.pop(obj=list[-1]):默認移除列表中的一個元素(默認最后一個元素),並且返回該元素的值
list.remove(obj):移除列表中某個值
list.reverse():將列表中的元素反向排列
list.sort(function()):將列表進行排序
- 字典(dict)
字典是由花括號{}來包含其數據的,花括號內包含鍵(key)和其對應的值(value),一對鍵和值成為一個項,鍵和值用冒號:隔開,項和項之間用逗號,隔開,空字典就是不包含任何項的字典,也可理解為空字典就是花括號內不包含任何內容,直接使用花括號{}表示。
創建一個字典:
dict = {'name':'john','age':20,'sex':male}
備注:鍵是一個不可變的數據類型
訪問字典:
由於字典是無序的,訪問字典不能通過索引的方式;通過變量名[鍵名]來訪問。
字典添加項:
變量名:[新添加的鍵名] = 新添加的鍵對應的值
字典修改項的值:
變量名:[要修改的鍵名] = 新值
字典刪除項或值:
del方法:刪除鍵對應的值,del 變量名[鍵名];
刪除字典,del 變量名。
clear方法:清空字典內容。
變量名.clear()
pop方法:刪除鍵對應的值,但是它會把對應的值輸出后再刪除
Python 雙引號 單引號 多引號區別
先說1雙引號與3個雙引號的區別,雙引號所表示的字符串通常要寫成一行
如:
s1 = "hello,world"
如果要寫成多行,那么就要使用/ (“連行符”)吧,如
s2 = "hello,/
world"
s2與s1是一樣的。如果你用3個雙引號的話,就可以直接寫了,如下:
s3 = """hello,
world,
hahaha.""",那么s3實際上就是"hello,/nworld,/nhahaha.", 注意“/n”,所以,
如果你的字符串里/n很多,你又不想在字符串中用/n的話,那么就可以使用3個雙
引號。而且使用3個雙引號還可以在字符串中增加注釋,如下:
s3 = """hello, #hoho, this is hello, 在3個雙引號的字符串內可以有注釋哦
world, #hoho, this is world
hahaha."""
這里我試過一下,確實可以加注釋,不過在print s3的時候連注釋內容會一起給打印出來
這就是3個雙引號和1個雙引號表示字符串的區別了,3個雙引號與1個單引號的區別也
是和這個一樣的,實際上python支持單引號是有原因的,下面我來比較1個單引號和
1個雙引號的區別。
當我用單引號來表示一個字符串時,如果要表示 Let's go 這個字符串,必須這樣:
s4 = 'Let/'s go',注意沒有,字符串中有一個',而字符串又是用'來表示,所以
這個時候就要使用轉義符 / (/,轉義符應該知道吧), 如果你的字符串中有一大堆
的轉義符,看起來肯定不舒服,python也很好的解決了這個問題,如下:
s5 = "Let's go"
這時,我們看,python知道你是用 " 來表示字符串,所以python就把字符串中的那
個單引號 ' , 當成普通的字符處理了,是不是很簡單。
對於雙引號,也是一樣的,下面舉個例子
s6 = 'I realy like "python"!'
這就是單引號和雙引號都可以表示字符串的原因了。