2018-5-31-Python全栈开发day12-列表,字典,元组
Posted 叶海宾
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018-5-31-Python全栈开发day12-列表,字典,元组相关的知识,希望对你有一定的参考价值。
1.列表
列表是以中括号表示, 以逗号分隔。列表内可以嵌套各种,比如说字符串,列表,元组,字典,可以无限嵌套。
s1=[]
1.1 索引
s1=[‘alex‘,[123],{123},(123)]
v1=s1[0]---‘alex‘
1.2 切片
v2=s1[0:3]----[‘alex‘, [123], {123}]
切片依旧是左闭右开区间。
列表可以进行修改,是迭代器,可以进行for循环和while循环,可以不连续的存在内存当中。
例:s1[1]=222
print(s1)
[‘alex‘,222,{123},(123)]
1.3 对列表进行判断
s= ‘alex‘ in s1
print(s)-----
True
其中,列表内的第一级元素是一个整体,只能判断这个整体是否在列表中
2.列表的操作
2.1 找到列表内元素的子项
s1=[‘alex‘,[123,‘aa‘,‘bb‘],{123},(123)] #找到‘aa‘ v=s1[1][1] print(v)
----aa
2.2将字符串转换为列表
将字符串转换为列表,其内部是通过循环的方式实现的
比如讲‘alex’转换为列表,则
s1=‘alex‘ v1=[] for i in s1: v1.append(i) print(v1)
输出:[‘a‘, ‘l‘, ‘e‘, ‘x‘]
想要利用这个功能,不能是int数字,因为数字int不是可迭代的。
2.3 将列表转换为字符串
2.3.1列表内既有数字又有字符串
自己写for循环-- +=
2.3.2列表内只有字符串
S1=[‘ALEX‘,‘AA‘,‘BB‘] V=‘‘.join(S1) print(V)
-----
ALEXAABB
2.4 list.append()将东西追加到列表尾部
s1=[‘alex‘,‘a‘,‘b‘] v=s1.append(‘good morning‘) print(s1)
-------
[‘alex‘, ‘a‘, ‘b‘, ‘good morning‘]
有一点和字符串不同,因为列表是可以直接进行修改的,所以,在上个例子中,如果是字符串,则需要用另一个V来代替s1,但是对于列表来说,直接进行修改了,是在原来列表的基础上,所以v只是append这个动作完成了,所以输出的还是s1
2.5 clear
对列表进行清除
s1=[‘alex‘,‘a‘,‘b‘] s1.clear() print(s1) ### []
2.6 copy,,浅拷贝
将一个列表拷贝到另外一个列表中
s1=[‘alex‘,‘a‘,‘b‘] s2=s1.copy() print(s2)
######
[‘alex‘, ‘a‘, ‘b‘]
2.7 count 进行计数,计算某个元素出现的次数
s1=[‘alex‘,‘a‘,‘b‘] s2=s1.count(‘alex‘) print(s2) ##### 1
2.8 extend() 拓展可迭代对象
迭代的东西一定是可以迭代的,而且内部是进行for循环
s1=[‘alex‘,‘a‘,‘b‘] s2=s1.extend(‘alex‘) print(s1) ######### [‘alex‘, ‘a‘, ‘b‘, ‘a‘, ‘l‘, ‘e‘, ‘x‘]
2.9 index 找到某元素的所在位置
s1=[‘alex‘,‘a‘,‘b‘] s2=s1.index(‘alex‘) print(s2)
1 ####### 2 0
2.10 insert 在指定位置插入某个元素
1 s1=[‘alex‘,‘a‘,‘b‘] 2 s1.insert(2,‘alex‘) 3 print(s1) 4 5 6 ######### 7 [‘alex‘, ‘a‘, ‘alex‘, ‘b‘]
2.11 pop删除某个值并且获取
1 s1=[‘alex‘,‘a‘,‘b‘] 2 s2=s1.pop(0) 3 print(s2) 4 print(s1) 5 6 ##### 7 alex 8 [‘a‘, ‘b‘]
如果pop后面没有跟值,则默认删除最后一个值
2.12 remove
直接删除某个元素,但是并不获取
2.13 reverse 对元素的顺序进行反转
s1=[11,22,33,444,55,66,] s2=s1.reverse() #print(s2) print(s1) ###### [66, 55, 444, 33, 22, 11]
2.14 sort
对列表的顺序进行整理
s1=[11,22,33,444,55,66,] s2=s1.sort() #print(s2) print(s1) #### [11, 22, 33, 55, 66, 444]
总结:列表是有顺序的,而且可以被修改
3.元组tuple
元组是对列表进行加工,使其不能被修改
元组内也可以包含任何东西
3.1 可以通过索引来获取元组内的特殊值
3.2 可以通过切片来获取元组内的特殊值
3.3 字符串、列表和元组可以进行相互转换
3.4 可以进行for循环,也是可迭代对象
3.5 元组也是有序的
##########################
元组的方法:count和index
4.字典dict
keys:键
value:值
info={‘k1‘:v1,‘k2‘:v2}
value可以是任何类型
key不能是列表,也不能是字典
可以是布尔值,但是不能和其他冲突,比如说 True的默认值是1,。。
其中,False的默认值None,,空的字符串‘’,空的元组()。空的列表[],空的字典,和0.其他的都是True
字典是无序的
4.1 items
info={‘alex‘:123,"a":‘nishishei‘,‘v‘:555} for k,v in info.items(): print(k,v) alex 123 a nishishei v 555
4.2 clear清除
4.3copy 浅拷贝
4.4 fromkeys(key,value)
其中,key可以是可迭代器,value是一个固定的值,也就是将一个可迭代器内的所有元素,统一对应一个相同的value,形成字典
info=‘alex‘ s1={} v2=s1.fromkeys(info,222) print(v2) {‘a‘: 222, ‘l‘: 222, ‘e‘: 222, ‘x‘: 222}
4.5 get,根据key返回value,如果没有返回默认值None,可以对None进行修改
info={‘alex‘:123,"a":‘nishishei‘,‘v‘:555} #info=‘alex‘ v2=info.get(567,222) print(v2) ------ 222
因为没有key567,所以返回参数,222
4.6 pop(key,返回默认值)
如果没有key,则返回默认值
如果有,则删除并且获取
4.7 popitem()
随机删除一堆键值对
4.8 setdefault(key,value)
如果字典内有这个key,则获取这个key对应的value,如果没有,则创建key和value
4.9update(key,value)
已经有的key进行修改,没有的进行添加
以上是关于2018-5-31-Python全栈开发day12-列表,字典,元组的主要内容,如果未能解决你的问题,请参考以下文章