列表類型
訪問(wèn)list的值:
list1 = [1, 2, 3, 4, 5]
print(list1[0]) # 1
print(list1[0: 1]) #[1]
print(list1[0: 2]) #[1, 2]
print(list1[1:]) # [2, 3, 4, 5]
print(list1[: 2]) # [1, 2]
print(list1[::-1]) # [5, 4, 3, 2, 1]
print(list1[-2]) #4
更新list:
list1[2] = 1000
print(list1) #[1, 2, 1000, 4, 5]
刪除list中元素:
del list[1]
print(list1) #[1, 1000, 4, 5]
其他:
list1 = [1, 2, 3, 4, 5]
print(list1 + [6, 7]) # [1, 2, 3, 4, 5, 6, 7]
print(list1 * 2) #[1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
len(list) # 5
print(7 in list1) # False
## 遍歷list
for item in list1:
print(item)
for i in range(0, len(list1)):
print(list1[i])
嵌套列表聋丝,類似于多維數(shù)組:
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c', 'd']
list3 = [list1, list2]
print(list3) # [[1, 2, 3], ['a', 'b', 'c', 'd']]
print(list3[0]) #[1, 2, 3]
print(list3[1][2]) # c
列表函數(shù)&方法:
名稱 | 含義 |
---|---|
min(list) | 返回list中最小值 |
max(list) | 返回list中最大值 |
len(list) | 返回list的長(zhǎng)度 |
list(seq) | 將序列seq轉(zhuǎn)換為list索烹,支持list,tuple,set,dict,dict只獲取dict.keys() |
list.append(obj) | list末尾新增obj,直接作用于list弱睦,返回值為None |
list.count(obj) | 統(tǒng)計(jì)obj在list中出現(xiàn)的次數(shù) |
list.extend(seq) | 在list末尾增加序列seq百姓,支持list,tuple,set,dict,dict只獲取dict.keys() |
list.index(obj) | 找出obj在list中第一個(gè)匹配的下標(biāo),沒(méi)有則拋出異常ValueError: obj is not in list
|
list.insert(index, obj) | 將obj插入list况木,指定索引為index |
list.pop([index]) | 移除列表中一個(gè)元素垒拢,默認(rèn)為-1(最后一個(gè)),也可以指定index |
list.remove(obj) | 查找到第一個(gè)obj元素火惊,并從列表中移除obj |
list.reverse() | 反轉(zhuǎn)list |
list.sort([key, reverse]) | reverse為True時(shí)求类,降序排列,為False時(shí)(默認(rèn))屹耐,升序排列 |
list.clear() | 清空列表 |
list.copy() | 復(fù)制列表 |
tuple1 = (1, 2, 3, 4)
set1 = {1, 3, 5, 6}
dict1 = {1: 'a', 2: 'b'}
print(list(tuple1)) #[1, 2, 3, 4]
print(list(set1)) #[1, 3, 5, 6]
print(list(dict1)) #[1, 2]
元組
與list相似尸疆,只是不能修改
tips:重新賦值的元組 tup,綁定到新的對(duì)象了惶岭,不是修改了原來(lái)的對(duì)象
字典
dict1 = {"1": "yi", "2":"er","3":"san"}
## 取值
print(dict1["1"]) # yi
## 修改字典
dict1["1"] = "一"
print(dict1["1"]) # 一
del dict1["1"] #刪除字典元素
dict1.clear() #清空字典
del dict1 #刪除字典
字典鍵的特性:
- 不允許同一個(gè)鍵出現(xiàn)兩次寿弱。創(chuàng)建時(shí)如果同一個(gè)鍵被賦值兩次,后一個(gè)值會(huì)被記住
- 鍵必須不可變俗他,所以可以用數(shù)字脖捻,字符串或元組充當(dāng)阔逼,而用列表就不行
字典內(nèi)置函數(shù)&方法:
dict = {"1": "yi", "2":"er","3":"san"}
名稱 | 含義 |
---|---|
len(dict) | dict的長(zhǎng)度 |
dict.copy() | 淺拷貝dict |
dict.fromkeys(seq) | 從seq序列中的元素作為字典的key兆衅,值為None |
dict.get(key[,default]) | 從dict中獲取key對(duì)應(yīng)的value,不存在默認(rèn)為None嗜浮,可以指定default |
key in dict | dict中包含key則返回True羡亩,否則False |
dict.items() | 返回一個(gè)序列,每一個(gè)元素為key-value危融,可以轉(zhuǎn)換為set畏铆、tuple、list |
dict.keys() | 返回一個(gè)序列吉殃,每一個(gè)元素為key辞居,可以轉(zhuǎn)換為set楷怒、tuple、list |
dict.setdeault(key[,default]) | 與get類似瓦灶,但是如果key不存在與dict中鸠删,添加key進(jìn)入字典dict,default默認(rèn)為None贼陶,可以自定義 |
dict.update(dict1) | 把dict1對(duì)應(yīng)的key-value添加到dict刃泡,并更新原有的值 |
dict.values() | 返回一個(gè)序列,每一個(gè)元素為value碉怔,可以轉(zhuǎn)換為set烘贴、tuple、list |
dcit.pop(key[,default]) | 刪除key對(duì)應(yīng)的值撮胧,返回值為value桨踪,如果不存在,返回default芹啥,默認(rèn)為None |
dict.popitem() | 返回一個(gè)鍵值對(duì)(key,value)形式馒闷,按照 LIFO(Last In First Out 后進(jìn)先出法) 順序規(guī)則,即最末尾的鍵值對(duì) |
list1 = [1,2,3,4]
print(dict2.fromkeys(list1)) # {1: None, 2: None, 3: None, 4: None}
print(dict1.items()) #dict_items([('1', '一'), ('2', 'er'), ('3', 'san')])
print(dict1.keys()) #dict_keys(['1', '2', '3'])
集合
tips:初始化集合不能用
{}
叁征,只能通過(guò)set()
a = set('asdfghjkl')
b = set('abcdefghi')
print(a) #{'a', 'g', 'h', 'j', 'f', 'l', 's', 'k', 'd'}
print(b) #{'c', 'a', 'g', 'h', 'b', 'e', 'f', 'i', 'd'}
print(a - b) # a和b的差集 {'s', 'k', 'l', 'j'}
print(a | b) # a和b的合集 {'k', 'l', 'd', 'e', 'h', 'f', 'i', 'c', 's', 'b', 'j', 'a', 'g'}
print(a & b) # a和b的交集 {'d', 'h', 'f', 'a', 'g'}
print(a ^ b) # a和b的全集和交集的差集 {'k', 'l', 'e', 'j', 'i', 's', 'b', 'c'}
## 集合推導(dǎo)式(Set comprehension)
set1 = {x for x in 'aadasfdsf' if x not in 'abc'}
print(set1) #{'d', 's', 'f'}
## 集合添加元素
set.add(obj) #如果元素已存在纳账,不進(jìn)行任何操作
set.update(obj) #參數(shù)可以是列表,元組捺疼,字典等
## 移除元素
set.remove(obj) # set中不存在元素疏虫,報(bào)錯(cuò)
set.discard(obj) #set中不存在元素,不報(bào)錯(cuò)
set.pop() #隨機(jī)刪除一個(gè)set元素
## 元素個(gè)數(shù)
len(set)
## 清空
set.clear()
##判斷元素是否存在
value in set # value在set中返回True啤呼,否則False