1.列表list-【】,列表对象调用XXX方法
(1)属性
#列表也可以通过索引和切片取元素,内部可以存任何类型的数据,可嵌套列表,但整个列表是一个元素
#内部存储规则为链表,每个元素会自动牵引到下个元素的位置,因此列表创建后是可以修改的
(2)修改和删除
#修改
li=[2,'ad','23',2] li[1:3]='chris',26
print(li)
#此时输出结果为[2, 'chris', 26, 2]
#删除 del x[2] 也可以删除多个(通过切片)
li=[2,'ad','23',2] del li[3] print(li)
#此时输出结果为[2, 'ad', '23']
#in操作 判断某个元素是否在列表中,多个的话可以用and连接
li=[2,'ad','23',2] v=2 in li print(v)
此时输出值为True
(3)取值,通过索引
li=[4,'ad',[5,3,[1,6],'asf'],'23',2] v=li[2][2][1] print(v)
#列表中嵌套列表时,可通过多个索引定位,此时输出值为6
(4)转换
#字符串转换成列表 li=list('asgadgcxbv')内部使用for循环,数字不可转换
列表转换成字符串
如果列表中全是字符串直接使用join li=['s','d'] v=‘’.join(li) print(v)
如果列表中既有数字,又有字符串时
a=[1,2,3,'gsda'] s='' for i in a: s=s+str(i) print(s)
#此时输出结果为123gsda
(5)append()原来值最后追加,无需再通过其他变量来接收,也可追加列表,如下
a=[1,2,3,'gsda'] a.append(2) print(a)
#此时输出值为[1, 2, 3, 'gsda', 2]
(6)clear()清空列表,清空列表所有值
(7)copy() 拷贝列表,需要通过一个值接收
(8)count()计算元素个数
a=[1,2,3,'gsda',2] b=a.count(2) print(b)
#此时输出值为2,因为有2个2
(9)extend() 拓展原来的列表,参数是可迭代对象 内部执行for循环将每个元素加入,不同于append
(10)index() 根据值寻找元素的索引位置
a=[1,2,3,'gsda',2] b=a.index(3) print(b)
#此时输出值为2,既元素3的索引位置
(11)insert() 在指定索引位置插入元素
a=[1,2,3,'gsda',2] a.insert(1,22) print(a)
#此时输出值为【1,22,2,3,'gsda',2】
(12)pop() 默认删除最后一个值,同时还可获取删除的值,可添加索引参数指定删除某个值
(13)remove() 删除列表中的某个指定值,左边的优先 a=[1,2,3,'gsda',2] v=remove(2),此时输出值为[1,3,'gsda',2]
五个删除: 1. pop() 2. remove() 3.del li[0] 4. del li[0:3] 5. clear()
(14)reverse() 将当前列表顺序进行反转
(15)sort() 列表排序,默认为从小到大,可设置参数 reverse=True时 从大到小,参数可添加函数!!!
a=[1,3,3,2,5] a.sort(reverse=True) print(a)
#此时输出值为[5, 3, 3, 2, 1],字符串不可排序
列表为list类的面向对象
2.元组tuple-()-对列表的二次加工,第一级元素不可被修改,不能被增加或删除
#一般写元组的时候,在最后一个括号前加入逗号
1.可以使用索引 [ ] 也可切片,也可for循环 也是可迭代对象
#列表、字符串和元组之间可以相互转换
(1)列表转元组 v=tuple(a)
(2) 列表和元组转换为字符串时,若元素里都是字符串,则可直接用join函数 v=''join(tu)
2.第一级元素不可修改,第二级可以
tu=(1,33,'chris',[11,'22'],4,5,) tu[3][0]='77' print(tu)
此时输出为(1, 33, 'chris', ['77', '22'], 4, 5),11被替换成了77
3.count()获取指定元素在元组中出现的次数
4.index()获取某个值在元组中的索引位置
3.字典 (为类dict的对象)- {'a':'b','ew':'23'} 这里面包含两个键值对
#字典的value可以是任何值,字典的key不能是列表、字典 布尔值中True为1 False为0,注意key不能重复!!!
1.字典是无序的!!!
2.取值时,前面的key就是索引,不可以进行切片,因为无序
a={'b':3,'e':'ew'} print(a['e'])
#此时输出为ew
3.字典支持del删除
4.for循环下的输出,默认为输出key
a={'b':3, 'e':'ew', 3:{'3',2} } for i in a: print(i)
#此时输出值为:b,e,3
#可利用dict的功能取key、value 对应为a.keys() a.values()
如下,需要输出key和values时
a={'b':3, 'e':'ew', 3:{'3',2} } for i in a.keys(): print(i,a[i])
此时输出值为
b 3
e ew
3 {'3', 2}
# i为for循环引导的索引,a【i】通过索引查找值
另一种方法,通过类dict的items()功能获取,记住要赋值两个变量,既k,v
a={'b':3, 'e':'ew', 3:{'3',2} } for k,v in a.items(): print(k,v)
5. dict.fromkeys() 根据序列,创建字典,并制定统一的值
a=dict.fromkeys([1,3,2],3) print(a)
此时输出值为{1: 3, 3: 3, 2: 3}
6. get(),寻找key所对应的值,没有则为空,也可自己设定参数
a={'b':3, 'e':'ew', 3:{'3',2} } v=a.get('b') print(v) a={'b':3, 'e':'ew', 3:{'3',2} } v=a.get('9','wu') print(v)
第一个v为3, 第二个v为wu
7. pop()移除值,后面可以赋予一个默认值
a={'b':3, 'e':'ew', 3:{'3',2} } v=a.pop('b','wu') print(a,v)
此时输出值为{'e': 'ew', 3: {2, '3'}} 3,删除的值3赋予给了v,如果删除的key不存在,则输出为wu
8.popitem()随机删除一个值,通过k,v来接收删除的值
a={'b':3, 'e':'ew', 3:{'3',2}, 4:'ee' } k,v=a.popitem() print(a,k,v)
此时输出值为{'b': 3, 'e': 'ew', 3: {2, '3'}} 4 ee
9. stedefault() 设置值,已存在则不设置,获取当前的key对应的值, 若不存在则添加进去
a={'b':3, 'e':'ew', 3:{'3',2}, 4:'ee' } v=a.setdefault('222',5) print(a,v)
此时输出值为{'b': 3, 'e': 'ew', 3: {2, '3'}, 4: 'ee', '222': 5} 5
10. update() 两种写法 a.update{'k1':'3','k2':'4'} 或者a.update(k1=3,k2=4)
4,布尔值为False的几种情况
#None ,'',(),[],{} 0 ==> False
l ist