python中的四種數據類型
列表
- 定義
列表是一種有序的集合,可以隨時添加和刪除其中的元素
變量 = ["數據","數據1" ....]
通過列表可以實現數據的:
- 增刪改查
可以在命令行使用
列表中的各種操作
dir(list)
查看列表的常見操作函數
- 查詢數據:
根據下標獲取列表中的某個數據
- 查詢某個指定數據在列表中的位置:
L.index("數據")
- 修改數據:
根據下標直接修改
L[2] = "數據"
還可以先查詢數據的位置
index = L.index("數據")
L[index] = "數據1"
- 刪除數據:
L.pop() 刪除列表中最后一個元素
L.remove("數據") 刪除列表中指定的數據
- 增加數據:
L.append("數據") 在列表末尾追加數據
L.insert(0, "數據") 在列表指定位置增加數據
reverse() 函數用于反向列表中元素
L.reverse()
該方法沒有返回值,但是會對列表的元素進行反向排序。
- sort()方法用于數組排序
L.sort()
字典(dict):
在python中也提供了內置的映射類型--字典。映射其實就是一組key和value以及之間的映射函數,其特點是:key的唯一性、key與value的一對多的映射。
1.字典的創建
字典的基本形態dic={key1:value1, key2:value2...}
創建方式1:直接型。
dict1={}
dict2={‘name’:'earth','port':'80'}
創建方式2:使用工廠方法dict,通過其他映射(例如字典)或者(鍵,值)這樣的序列對建立
items=[('name','earth'),('port','80')]
dict2=dict(items)
dict1=dict((['name','earth'],['port','80']))
創建方式3:使用內建方法fromkeys()創建’默認‘字典,字典中元素具有相同的value(如果沒有給出,默認為none)
dict1={}.fromkeys(('x','y'),-1)
#dict={'x':-1,'y':-1}
dict2={}.fromkeys(('x','y'))
#dict2={'x':None, 'y':None}
2.訪問字典中的值
最常用和基本的莫過于利用key訪問value了
a.通過key訪問value之get方法
dict1.get('name')#也可以直接是dictionary['key1'],但是當key1不存在其中時,會報錯;此時用get則返回None
b.隨機訪問其中鍵值對
字典中是無序的,利用popitem方法是隨機彈出一個鍵值對
c.返回字典所有值的列表
方法values
3.訪問字典中的key
a.檢查是否含有key1
#dictionary.has_key(key1)
key1 in dictionarty
key1 not dictionary
b.返回字典中鍵的列表
dictionary.keys()
查詢數據:
x = p["name"]
x = p.get("name")
4.訪問鍵值對
a.遍歷方式
for r in dicitonary #r是dictionary中的鍵值對
b.修改(更新)或添加
p["name"] = value
p["name"] = value
刪除
a.按key刪除
del dictionary[key1]
b.刪除并返回
dictionary.pop(key1)
c.刪除所有項
dictionary.clear()
del dictionary
6.排序
sorted(dic.iteritems(), key=lambda d:d[1] reverse=False)
說明:對字典dic中的元素按照d[1](d[1]是value,d[0]是key,和d沒關系,可以改為a什么的)進行升序排序,通過設置reverse的True或False可以進行逆序,并返回排序后的字典(該排序后的字典由元組組成,其形式為[(key1,value1),(key2,value2),...],且原字典保持不變)
7.其他
len(dictionary) #返回字典項個數
dictionary.item()
dictionary.iteritems()
元組(tuple):
出現的意義:
為了表示現實生活中,比較固定的數據,出現了元組的概念
元組的特點:
也可以存儲多個數據,但是一旦聲明并且賦值,不允許修改數據
元組的聲明:
通過一對小括號進行聲明
t = (“春”, “夏”, “秋”, “冬”)
元組中出現的函數:
count():查詢指定的數據出現的次數
index():查詢指定的數據出現的位置
注意:聲明一個只包含一個整數的元組和一個空元組
聲明一個只包含一個整數的元組,切記 x = (12,)
聲明一個空元組,可以直接使用(),如:x = ()
tuple()可以用來聲明一個元組,同時也可以將其他的組合類型轉換成元組
面試題:元組中的數據不是不能更改嗎?我可以更改數據,請嘗試解釋
>>> a = ([1,2], [1,2])
>>> a
([1, 2], [1, 2])
>>> a[0][0] = 10
>>> a
([10, 2], [1, 2])
集合(set):
集合是一個保存多個數據的數據類型。
注意:set中不能存放重復數據,數據沒有順序
要創建一個集合,需要提供一個List作為一個輸入集合
例如:s = set([1, 2, 3])
>>> {1, 2, 3}
聲明一個集合:set = {1,2,3}
空集合 s=set()
增:
add()增加一個數據到集合中
改:
無法修改數據
可以通過remove + add結合來實現
查:
無法查詢單個數據
for + if 查詢 并獲取某個數據
成員運算符,來查詢是否包含某個數據
只能通過循環遍歷數據
刪除:
pop() 刪除隨機一條數據
remove(x) 刪除指定的數據(如果數據不存在會報錯)
discard(x) 刪除指定的數據(如果不存在,沒有事情發生
根據具體的功能來確定,如果刪除數據不需要出現錯誤提示,使用discard如果刪除數據需要出現錯誤提示,使用remove()
類型的轉換
list轉字符串
-
tuple轉字符串
轉換
列表和元組轉化為字符串必須依靠join函數
image.png
直接使用str()會在最外層加個雙引號。 字典轉換為字符串
使用str()字符串轉化為字典
使用eval()