列表,元组,集合

  继续昨天列表写起

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)   

  

 

 

 

   

    

  

  

转载于:https://www.cnblogs.com/panshao51km-cn/p/11135356.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值