继续昨天列表写起
1.列表
列表的常用方法
l = [1,2,3,4,5,6,7]
res = 1.count(5)
print(res)
count有返回值用来统计列表中字符的个数,比如count()小括号中数字为5,那么程序中打印出来的就是1,因为在l列表中5只出现了一次。
l = [1,2,3,4,5,6,7,]
l.clear()
print(l)
无返回值,清除列表中的内容,只剩下一个中括号。
l = [1,2,3,4,5,6,7]
l.reverse()
print(l)
此程序的作用是将列表中的内容进行反转。
l1 = [45,23,12,454]
l1.sort(reverse=1)
print(l1)
此程序为排序,默认情况下按从小到大进行排列,如果括号内这样写的话就按大到小排列。
队列:先进先出
l1 = []
l1.append('first')
l1.append('second')
l1.append('third')
append无返回值,编程时就按照这样的语法来进行编写。
堆栈:先进后出
l1.append('first')
l1.append('second')
l1.append('third')
print(l1)
print(l1.pop())
print(l1.pop())
print(l1.pop())
2.元组
能够存储多个元素,元素与元素之间逗号隔开,元素可以是任意类型,元组不能被修改。与列表类型比,只不过是[]换成()。age=(11,22,33,44,55)本质age=tuple((11,22,33,44,55))。
按索引取值:
t = (1,2,3,'s','b',[1,2,3])
print(t[0])
t[-1][0] = 'hahaha'
print(t)
在这个程序当中,元组内的内容不能被随意更改,只有当元组中存在可变类型(list dict set)时,才能在这些可变类型中随意更改,本程序中该元组中存在着列表,所以可以在列表中改。
t = (1,2,3,'s','b',[1,2,3])
print(t.count('a'))
print(t.index('xxx'))
在t.count()中,如果元组中无括号中的元素时,无返回值,在t.index()中,元组中没有小括号的元素时,运用index就会出现报错情况。
d2 = {'name':'jason','name':'tank','name':'nick','pwd':123}
print(len(d2))
print(d2)
字典的key是不能重复的,要唯一标识一条数据,如果重复了,只会按照最后一组重复的键值对存储。
d3 = {'name':'jason','pwd':123}
print(id(d3))
print(d3['name'])
d3['name'] = 'egon'
d3['name'] = 'ddd'
d3['age'] = 18
print(d3,id(d3))
从输出的结果来看,地址未曾发生过改变,赋值语句当key不在的时候,会自动增加一对键值对。
d3 = {'name':'jason','pwd':12}
del d3['name']
print(d3)
res = d3.pop('name')
print(res) # 弹出仅仅是value,当键不存在时就会出现报错情况。
d1 = {'name':'jason','passwod':123}
print(d1['name'])
print(d1['age'])
当字典中没有key存在时,立即报错。字典中的key存在时,后面的句子就不会再打印出来,有get语句时,当字典的key有不存在情况,不报错,返回None。get可以传第二个参数,当你的key不存在情况下,返回第二个你写好的参数信息,第二个参数不写的话当key不存在的情况下返回None,写了就返回写的内容。
3.集合
s1 = set()
print(type(s1))
x = {}
print(type(x)) #如果仅仅写了一个大括号,那么python默认把他当作字典类型
t = ()
print(type(t))
如果仅仅写了一个小括号,那么python默认把他当作元组类型
pythons = {'jason','egon','kevin','yangpan','tom'}
linux = {'jason','yangpan','xiaodu','xiaoyan'}
print(pythons & linux) # 求两个集合的交集
print(pythons - linux) # 求学python中学生的姓名
print(linux - pythons) # 求学linux中的学生姓名
print(pythons ^ linux) # 求交叉错集 报了两门课程剩下没报学生的姓名
print(pythons | linux) # 求报了课程的全部人数
s = {1,2,3,4,5}
print(s.add(666))
print(s.add((1,2,3,4))) # 将容器类型当成一个元素传入
print(s)
print(s.remove(1)) # 将1去除
print(s) #输出去除1之后剩下的元素
print(s.discard(3)) # 丢弃括号中的数字
print(s)