python学习4
列表(list)深灰魔法
1. 连续索引
li = [1,1,[1,["asdsa",4]]]
li[2][1][1][0]
2. 其他数据结构转换为列表
可以进行for循环的数据结构可以转换为List,数字不能循环则无法转换为列表
li = "cbdualbvrhyacv" new_li = list(li)
3. 列表转换为字符串,
若列表里面既有数字,又有字符串,则需自己写for循环
li = [123,"alex"] s = "" for i in li: s += str(i) print(s)
若列表里只有字符串,则可以使用joint(),与空字符串joint
li = [123,"alex"] new_li = "".joint(li)
列表(list)灰魔法
1. 在列表最后追加一个整体元素append(p_object)
li = [11,22,33,44] li.append(5) li.append("alex") li.append([122,345]) print(li)
2. 清空列表clear()
li.clear()
3. 浅拷贝copy()
v = li.copy()
4. 计算某元素在列表中出现的次数count(value)
v = li.count(22)
5. 将某一可迭代对象里面的元素循环添加到列表里extend(iterable)
v = li.extend([123,"cbeauilbv"]) v = li.extend("cbaulyrv")
6. 寻找列表中某元素的位置index(object)
v = li.index(11)
7. 指定索引位置插值insert(index,p_object)
li.insert(0,99)
8. pop(index)删除某个值并获取被删除的值,默认删除最后一个值
v = li.pop()
v = li.pop(0)
9. 删除列表中的指定元素remove(object)
li.remove(22)
10. 翻转列表各元素reverse()
li.reverse()
11. 排序sort()
li.sort() #从小到大排序 li.sort(reverse = True) #从大到小排序
元组(tuple)深灰魔法
1. 元组定义
tu = (111,"alex",(11,22),[(33,44)],True,256,11,22,)
最好再定义元组的时候在最后一个元素末尾加个,以与函数赋值相区别
2. 索引、切片
tu[1]
tu[0:3]
3. 元组一级元素不可被修改,不能增加或删除
但是,元组的某个可修改的二级以下元素可以被修改!!!!!
tu[3][0] = 567
4. 元组可以进行for循环
for i in tu: print(i)
注:由循环性可知,列表,元组,字符串之间可以相互转换
元组(tuple)灰魔法
1. 计算某元素出现的个数count(value)
v = tu.count(11)
2. 寻找某个元素的位置index(value)
v = tu.index(22)
字典(dict)深灰魔法
1. 定义字典(dict)
info = { "k1" : "v1", "k2" : "v2", 5 : [11,22], "k4" : (11,22), "k5" : { "kk1" : "vv1", "kk2" : "vv2",}, }
列表、字典不能作为字典的键
布尔值、数字、字符串、元组可以作为字典的键
布尔值:True = 1, False = 0
若两个key相同,则只保留最后一个
2. 字典是无序的,不可切片,通过key来索引
v = info['k1'] v = info[5]
3. 删除键值对del
del info['k1']
4. 字典可以进行for循环,默认循环key
for item in info: print(item) for item in info.keys(): #循环key print(item) for item in info.values(): #循环value print(item) for k,v in info.items(): #键值对二者均循环 print(k,v)
5. in操作,默认循环键
v = 'k1' in info #True
字典(dict)灰魔法
1. clear()
2. copy()
3. 根据key取值,若不存在,可指定默认值get()
v = info.get('k1',111111) #存在,忽略111111 v = info.get('k111',default) #不存在,采用default值
4. 取键keys()
5. 取值values()
6. 取键值对items()
7. 删除pop()
v = info.pop('k1') v = info.pop('k111',90) #若不存在,可指定返回值为90
8. 随机删除一个键值对popitem()
k,v = info.popitem() #返回被删除的键值对
9. 设置不存在的键值对,若已存在则返回当前值setdefault()
v = info.setdefault('k111','123')
10. 更新update(),有两种写法
info.update('k1':11111,'k5':123) info.update(k1=123, k2=456, k5=789)
**kwargs,表示上述两种方式表达均可以
**['k1':123,'k2':456]
字典(dict)黑魔法(静态方法)
1. 根据序列创建字典的键并可指定值dict.fromkeys()
v = dict.fromkeys(['k1',123,'k4'],456)