python基礎之雜文

1.容器類數據結構

1.1 列表List  ---- 內部存着的是地址,指針

(1)寫在[ ]內用逗號分開的元素列表,python中存放有序對象的容器。list中的元素類型可以不同,可以存放任何數據類型:數值、布爾型、字符串等。
(2)類似於字符串,可以被索引和切片,list切片後返回一個所需元素的新list,切片格式:變量[頭下標:尾下標]
(3) + 是列表連接運算符     * 是重複操作
(4)list內置了append()/insert()/pop()等方法
(5)list的元素是可以改變的
eg:


1.2 元組Tuple

(1)寫在()內用逗號隔開的有序集合,元組中的數據類型可以不同
(2)tuple的元素不能修改  ----- 指的是指向不變
(3)可以被索引和切片
(4)可以使用 + * 操作符
(5)構造包含0或1個元素的元組,需注意
eg:


1.3 字典Dict   

(1)無序對象的集合
(2)元素是通過鍵來存取的
(3)一種映射類型,{key, value}鍵值對,key 必須是不可變類型,且不能重複
(4)內置函數clear()/keys()/values()等
(5)空字典創建用{ }
(6)dict的第一個特點是查找速度快,而且查找的速度與元素的個數無關,而list的查找速度是隨着元素的增加而逐漸下降的;第二個特點是存儲的key-value序對是沒有順序的;第三個特點是作爲key得到元素是不可變的,所以list不能作爲key。dict的缺點是佔用內存大,還會浪費很多內容。
eg:


1.4 集合Set

(1)無序不重複元素的集合
(2)功能:成員關係測試和刪除重複元素
(3)創建是調用set()並傳入一個list,重複元素自動過濾
(4)內置函數:add()/remove()
eg:


1.5 list,tuple,dict,set區別

1 .list

list是一個使用方括號括起來的有序元素集合;

List 可以作爲以 0 下標開始的數組,任何一個非空 list 的第一個元素總是 L[0],負數索引從 list 的尾部開始向前計數來存取元素。任何一個非空的 list 最後一個元素總是 L[-1];

有分片功能,兩個list可以相加;

append 向 list 的末尾追加單個元素;

insert 將單個元素插入到 list 中; 

extend 用來連接 list,使用一個 list 參數進行調用;

append 接受一個參數, 這個參數可以是任何數據類型, 並且簡單地追加到 list 的尾部;

index 在 list 中查找一個值的首次出現並返回索引值;

要測試一個值是否在 list 內, 使用 in, 如果值存在, 它返回 True, 否則返爲 False ;

remove 從 list 中刪除一個值的首次出現;

pop 可以刪除 list 的最後一個元素, 然後返回刪除元素的值,用索引刪除制定位置的值;

 

2.tuple

tuple是不可變的list,創建了一個tuple就不能以任何方式改變它;

定義tuple是將整個元素集是用小括號括起來,是有序集合;

tuple的索引與list一樣從0開始,所以一個非空的tuple的第一個元素總是t[0];

負數索引與 list 一樣從 tuple 的尾部開始計數;

與 list 一樣分片 (slice) 也可以使用。分割一個 tuple 時, 會得到一個新的 tuple;

沒有 append、extend、remove或pop方法以及index方法;

可以使用in來查看一個元素是否存在於tuple 中。

 

3.dict

dict定義了鍵和值之間的一一對應關係,每個元素都是一個key-value對;

整個元素集合用大括號括起來,有序集合;

可以通過 key 得到value, 但不能通過vaule獲取 key;

在一個 dict中不能有重複的 key, 並且 key 是大小寫敏感的;

鍵可以是數字、字符串或者是元組等不可變類型;

用del使用key可以刪除dict中的獨立元素; 

用clear可以清除dict中的所有元素。

4.set

set是建立一系列無序的,不重複的元素;

創建set的方式是調用set()並傳入一個list,list的元素將作爲set的元素;

set和dict的唯一區別僅在於沒有存儲對應的value。


1.6 數據類型轉換

函數 描述

int(x [,base])

將x轉換爲一個整數

float(x)

將x轉換到一個浮點數

complex(real [,imag])

創建一個複數

str(x)

將對象 x 轉換爲字符串

repr(x)

將對象 x 轉換爲表達式字符串

eval(str)

用來計算在字符串中的有效Python表達式,並返回一個對象

tuple(s)

將序列 s 轉換爲一個元組

list(s)

將序列 s 轉換爲一個列表

set(s)

轉換爲可變集合

dict(d)

創建一個字典。d 必須是一個序列 (key,value)元組。

frozenset(s)

轉換爲不可變集合

chr(x)

將一個整數轉換爲一個字符

unichr(x)

將一個整數轉換爲Unicode字符

ord(x)

將一個字符轉換爲它的整數值

hex(x)

將一個整數轉換爲一個十六進制字符串

oct(x)

將一個整數轉換爲一個八進制字符串 



1.7常用方法

(1)list.clear()    ----- 清空列表





2、sorted()函數

2.1 sort()與sorted()函數

python3 sorted取消了內置cmp函數
(1)對給定的List L進行排序:
方法1.用List的成員函數sort進行排序
方法2.用built-in函數sorted進行排序

--------------------------------sorted---------------------------------------
>>> help(sorted)
Help on built-in function sorted in module __builtin__:

sorted(...)
    sorted(iterable,key=None, reverse=False) --> new sorted list
---------------------------------sort----------------------------------------
>>> help(list.sort)
Help on method_descriptor:

sort(...)
    L.sort( key=None, reverse=False) -- stable sort *IN PLACE*;
    
-----------------------------------------------------------------------------
iterable:是可迭代類型;
key:接收一個函數,且函數只接受一個元素,有默認值,迭代集合中的一項;
reverse:排序規則. reverse = True 或者 reverse = False,有默認值。
返回值:是一個經過排序的可迭代類型,與iterable一樣。
 
注;一般來說,key可以使用lambda表達式。

sort()與sorted()的不同在於,sort是在原位重新排列列表,而sorted()是產生一個新的列表。


2.2 sorted()函數

key值:

students = [('john', 'A', 15), ('jane', 'B', 12), ('dave','B', 10)]

sorted(students,key=lambda s: x[2]) #按照年齡來排序

結果:[('dave','B', 10), ('jane', 'B', 12), ('john', 'A', 15)]


eg:



3、python中pass語句的作用總結:

pass表示不作任何事情,一般用作佔位語句
(1)pass在函數中
當你在編寫一個程序時,執行語句部分思路還沒有完成,這時你可以用pass語句來佔位,也可以當做是一個標記,是要過後來完成的代碼

(2)pass在循環中
pass也常用於爲複合語句編寫一個空的主體,比如說你想一個while語句的無限循環,每次迭代時不需要任何操作

pass語句用法總結:1、空語句,什麼也不做            2、在特別的時候用來保證格式或是語義的完整性

4、input

input()返回值默認是字符串,若要與整數比較,需轉化爲整數





發佈了33 篇原創文章 · 獲贊 19 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章