一、list:类,列表。 有序,可被修改。
list.append() #对象.方法(... ) 称为:list对象调用append方法。
- 列表格式:使用中括号;
- 列表中可以嵌套任何类型:数字,字符串、列表、布尔值.....
- ☆ 索引取值
1 例: 2 li = [1,2,3,'hello'] 3 a = li[2] 4 print(a) 5 6 输出; 7 3
- ☆ 切片,返回结果为列表
1 例: 2 li = [1,2,3,'hello'] 3 a = li[1:3] 4 print(a) 5 6 输出: 7 [2,3]
- ☆ for循环与while循环...
- 索引修改...
- 切片修改...
- in操作,判断某个值是否存在列表中...
- 取值操作
1 例: 2 li = [1,2,3,['23','dfs',['34']],'hello'] 3 a = li[3][2][0][1] 4 print(a) 5 6 输出: 7 4
- 转换:
- 字符串转换成列表,相当于内部使用for循环:
1 例: 2 a = 'dfsdfsf' 3 i = list(a) 4 print(i) 5 6 输出: 7 ['d', 'f', 's', 'd', 'f', 's', 'f']
- 列表转换成字符串:(列表中包含数字与字符串,需用for循环处理)
1 例: 2 li = [123,23,34,'df','sde'] 3 a = '' 4 for i in li: 5 a = a + str(i) 6 print(a) 7 8 输出: 9 1232334dfsde
列表只包含字符串:(可用join进行拼接)
1 例: 2 li = ['df','sde','ewdsd'] 3 i = ''.join(li) 4 print(i) 5 6 输出: 7 dfsdeewdsd
- 字符串转换成列表,相当于内部使用for循环:
内置方法:
- ☆ append:将参数追加到列表末尾
def append(self,p_object)
1 例: 2 li = ['df','sde','ewdsd'] 3 li.append('32') 4 print(li) 5 6 输出: 7 ['df', 'sde', 'ewdsd', '32']
- clear:清空列表
def clear(self, *args, **kwargs)
1 例: 2 li = ['df','sde','ewdsd'] 3 li.clear() 4 print(li) 5 6 输出: 7 []
- copy:复制(浅拷贝)
def copy(self, *args, **kwargs)
1 例: 2 li = ['df','sde','ewdsd'] 3 v = li.copy() 4 print(v) 5 6 输出: 7 ['df', 'sde', 'ewdsd']
- count:计算元素在列表中出现的次数
def count(self, value)
1 例: 2 li = [11,22,33,44,22,'ewdsd'] 3 v = li.count(22) 4 print(v) 5 6 输出: 7 2
- ☆ extend:扩展,把元素追加到列表中进行扩展,相当于内部进行for循环,与append不同。(iterable可迭代对象,可被for循环,如字符串,列表)
def extend(self, iterable)
1 例: 2 li = [11,22,33,44,22,'ewdsd'] 3 li.extend([11,23]) 4 print(li) 5 6 输出: 7 [11, 22, 33, 44, 22, 'ewdsd', 11, 23]
- index:根据值获取当前索引值的位置,左边优先,没找到时报valueError。
def index(self, start=None, stop=None)
1 例: 2 li = [11,22,33,44,22,] 3 v = li.index(22,2,5) 4 print(v) 5 6 输出: 7 4
- ☆ insert:在指定位置插入元素
def insert(self, index, p_object)
1 例: 2 li = [11,22,33,44,22,] 3 li.insert(0,99) 4 print(li) 5 6 输出: 7 [99, 11, 22, 33, 44, 22]
- pop:删除某个值,默认删除最后一个(可指定索引),并可获得删除的值
def pop(self, index=None)
1 例: 2 li = [11,22,33,44,22,] 3 v = li.pop(1) 4 print(li,v) 5 6 输出: 7 [11, 33, 44, 22] 22
- remove:删除指定的值,左边优先。
def remove(self, value)
1 例: 2 li = [11,22,33,44,22,] 3 li.remove(22) 4 print(li) 5 6 输出: 7 [11, 33, 44, 22]
del删除列表: del li[1] del li[2:5]
- reverse:将当前列表进行反转
def reverse(self, *args, **kwargs)
1 例: 2 li = [11,22,33,44,22,] 3 li.reverse() 4 print(li) 5 6 输出: 7 [22, 44, 33, 22, 11]
- sort:默认从小到大排序,reverse为True时反转。
def sort(self, key=None, reverse=False)
1 例: 2 li = [11,22,33,44,22,] 3 li.sort(reverse=True) 4 print(li) 5 6 输出: 7 [44, 33, 22, 22, 11]
二、tuple :元祖;元素的一级元素不能被修改,不能被增加或删除,可索引、切片、for循环,可迭代对象、转换。有序
- 结构类型:
tu = (11,22,33,44,)
- 方法(与 list 的方法类似):
- count:获取元素在元组中出现的次数
- index:根据值获取当前索引值的位置
三、dict:字典;用大括号,有键值对:key&value 。
- 基本结构:
1 info = { 2 'k1':'v1', #键值对 3 'k2':'v2', 4 }
- key:不能是字典、列表; 注意:作为布尔值(True/False : 1/0)时,需注意字典中是否已有数字0,1的存在,key值相同时只取一个值。
- value :可以是任何值,如列表、元祖、布尔值...
- 字典是无序的;
- 可用key值进行索引,可删除,不可切片;
- 可用 in 判断,默认为判断key值;
- 可用 while 与 for 循环:
1 for k,v in info.items(): 2 pritn(k,v)
内置方法:
- clear:清除
- copy:浅拷贝
- fromkeys:根据序列,创建字典,并指定统一的值。
def fromkeys(*args, **kwargs)
1 例: 2 v = dict.fromkeys(['k1','999',123],123) 3 print(v) 4 5 输出: 6 {'k1': 123, '999': 123, 123: 123}
- ☆ get:根据key获取值,key不存在时,可以指定输出值(默认为None)
def get(self, k, d=None)
1 例: 2 info = { 3 'k1':'v1' 4 } 5 v = info.get('k111',1) 6 print(v) 7 8 输出: 9 1
- ☆ items:字典的集合
def items(self)
1 例: 2 info = { 3 'k1':'v1', 4 'k2':'v2', 5 } 6 for k,v in info.items(): 7 print(k,v) 8 9 输出: 10 k1 v1 11 k2 v2
- ☆ keys:key的集合 ☆ value 用法相同。
def keys(self)
1 例: 2 info = { 3 'k1':'v1', 4 'k2':'v2', 5 } 6 for v in info.keys(): #for v in info.values(): 7 print(v) 8 9 输出: 10 k1 #v1 11 k2 #v2
- pop :删除并获取值,key不存在时,可以指定输出值;
def pop(self, k, d=None)
1 例: 2 info = { 3 'k1':'v1', 4 'k2':'v2', 5 } 6 v = info.pop('k222',1) 7 print(v) 8 9 输出: 10 1
popitem:随机删除键值
def popitem(self)
1 例: 2 info = { 3 'k1':'v1', 4 'k2':'v2', 5 'k3':'v3', 6 } 7 k,v = info.popitem() 8 print(k,v) 9 10 输出: 11 k3 v3
- setdefault:设置键值对,如key已存在则不添加,不存在时则添加,并返回所对应的value。
def setdefault(self, k, d=None)
1 例: 2 info = { 3 'k1':'v1', 4 'k2':'v2', 5 'k3':'v3', 6 } 7 v = info.setdefault('k11','123') 8 print(info,v) 9 10 输出: 11 {'k1': 'v1', 'k2': 'v2', 'k3': 'v3', 'k11': '123'} 123
- ☆ update:更新字典。
def update(self, E=None, **F)
1 例: 2 info = { 3 'k1':'v1', 4 'k2':'v2', 5 } 6 info.update(k3='v3',K4=23) #info.update({'k3':'v3','K4':23}) 7 print(info) 8 9 输出: 10 {'k1': 'v1', 'k2': 'v2', 'k3': 'v3', 'K4': 23}
四、enumerate:返回列举的对象,获取索引编号与值,默认为‘0‘。把一个列表变成索引-元素对,
1 test = ['zero','one','two','three'] 2 for index,item in enumerate(test,1): 3 print(index,item) 4 5 输出: 6 1 zero 7 2 one 8 3 two 9 4 three
1 #使用for循环不可修改索引编号,较局限 2 test = ['zero','one','two','three'] 3 for i in range(len(test)): 4 print(i,test[i]) 5 6 输出: 7 0 zero 8 1 one 9 2 two 10 3 three
五、bool:布尔值(True & False:1 & 0)
- 对于 None、""、()、[]、{}、0 返回 False ,其余基本为 True。