python3(元组,列表,集合,字典)

  • 2020 年 1 月 12 日
  • 筆記

1.列表 1)创建列表 数组:存储同一种数据类型的集合 scores=[12,13,14] 列表:(打了激素的数组):可以存储任意数据类型的集合

列表里:可以存储不同的数据类型

 s=[1,4,5,'ty']   print s,type(s)

列表里面也可以嵌套列表(列表:也是一种数据类型)

 s=[1,4,2,[1,4,'aa']]   print s,type(s)

2)列表的特性

# # 索引  # print service[0]  # print service[-1]  # # 切片  # print service[::-1] # 列表的翻转  # print service[1:] # 除了第一个元素之外的其他元素  # print service[:-1] # 除了最后一个元素之外的其他元素  # # 重复  # print service * 3  # # 连接  # service1 = ['mysql','firewalld']  # print service + service1  # # 成员操作符  # print 'firewalld' in service  # print 'firewalld' in service1  # print 'firewalld' not in service  # for循环遍历  # print '显示服务'.center(50,'*')  # for se in service:  #     print se
# 列表里嵌套列表  service2 = [['http',80],['ssh',22],['ftp',21]]  # 索引  print service2[0][1]  print service2[-1][1]  # 切片  print service2[:][1]  print service2[:-1][0]  print service2[0][:-1]

假定有下面这样的列表: names = [‘fentiao’, ‘fendai’, ‘fensi’, ‘apple’] 输出结果为:’I have fentiao, fendai, fensi and apple.’

names = ['fentiao', 'fendai', 'fensi', 'apple']  print 'I have ' + ','.join(names[:-1]) + ' and ' + names[-1]

3)列表的查看

service = ['http', 'ssh', 'ftp','ftp']    # 查看列表中元素出现的次数  print service.count('ssh')    # 查看指定元素的索引值  print service.index('ssh')

4)列表的增加

# 1.  print service + ['firewalld']    # 2.append:追加 追加一个元素到列表中  service.append('firewalld')  print service    # 3.extend:拉伸 追加多个元素到列表中  service.extend(['mysql', 'firewalld'])  print service    # 4. insert:在指定索引位置插入元素  service.insert(1,'samab')  print service

5)列表的删除

service = ['http', 'ssh', 'ftp']    # #1.如果pop()不传递值的时候,默认弹出最后一个元素  # print service.pop()  # # pop()也可以传递索引值  # print service.pop(0)    # 2.remove:删除指定的元素  # service.remove('ssh')  # print service    # 3.del 关键字 从内存中删除列表  # print service  # del service  # print service

6)列表的修改

service = ['http', 'ssh', 'ftp']    # 通过索引,重新赋值  service[0] = 'mysql'  print service    # 通过切片  print service[:2]  service[:2] = ['samba','ladp']  print service

2.元组(tuple) 带了紧箍咒的列表 元组本身不可变数据类型,没有增删改差 元组内可以存储任意数据类型 1)元组的创建

t = (1,2,3,4.0,'star')  print t,type(t)
# 元组里面包含可变数据类型,可以间接修改元组的内容  t1 = ([1,2,3],4)  t1[0].append(4)  print t1    # 元组如果只有一个元素的时候,后面一定要加逗号,否则数据类型不确定  t2 = ('hello',)  t3 = (1,)  print type(t2),type(t3)
2)元组的特性  allowUsers = ('root','westos','fentiao')  allowPasswd = ('123','456','789')    # 索引 # 切片  print allowUsers[0]  print allowUsers[-1]  print allowUsers[1:]  print allowUsers[2:]  print allowUsers[:-1]  print allowUsers[::-1]    # 重复  print allowUsers * 3  # 连接  print allowUsers + ('fensi','fendai')  # 成员操作符  print 'westos' in allowUsers  print 'westos' not in allowUsers

3)元组的应用场景

# 1.变量交换数值  # a = 1  # b = 2  # b,a = a,b  # # 先把(a,b)封装成了一个元组(1,2)  # # b,a = a,b  # # b =(1,2)[0] a=(1,2)[1]  # print a,b    # 2.打印变量值  # name = 'westos'  # age = 10  # t = (name,age)  # print 'name: %s,age: %d' %(name,age)  # print 'name: %s,age: %d' %t    # 3.元组的赋值:有多少个元素,就用多少个变量接收  # t = ('westos',10,100)  # name,age,score = t  # print name,age,score    scores = (100,89,45,78,65)  # scoresLi = list(scores)  # scoresLi.sort()  # print scoresLi  scores = sorted(scores)  print scores

3.集合 1)集合的定义

# 集合里面的元素是不可重复的  s = {1,2,3,1,2,3,4,5}  print s,type(s)  s1 = {1}  print s1,type(s1)  # 如何定义一个空集合  # s2 = {}  # print type(s2)  s3 = set([])  print s3,type(s3)    # 集合的应用  li = [1,2,3,1,2,3]  print list(set(li))

2)集合的特性 集合只支持 成员操作符 for循环

s = {1,2,3}  #print s[0]  # print s * 3  # print s + {5,4,6}  print 1 in s  for i in s:      print i,  for i,v in enumerate(s):      print 'index: %s,value:%s' %(i,v)

3)集合常用的方法

  s = {6, 7, 8, 1, 2, 3}  #  增加  # s.add(10)  # s.add(9)  # print s  # 增加多个元素  # s.update({4,5})  # print s  # 删除  # print s  # s.pop()  # print s  # 删除指定的元素  # s.remove(2)  # print s      # 交集 并集 差集  s1 = {1, 2, 3}  s2 = {2, 3, 4}    # 并集  print '并集:', s1.union(s2)  print '并集:', s1 | s2    # 交集  print '交集:', s1.intersection(s2)  print '交集:', s1 & s2    # 差集  # 可以理解为s1中有哪些s2中没有的元素  print '差集:', s1.difference(s2)  # s1-(s1&s2)  print '差集:', s1 - s2  # 可以理解为s2中有哪些s1中没有的元素  print '差集:', s2.difference(s1)  # s2-(s1&s2)  print '差集:', s2 - s1    # 对等差分:并集-交集  print '对等差分:', s1.symmetric_difference((s2))  print '对等差分:', s1 ^ s2    s3 = {1, 2}  s4 = {1, 2, 3}    # s3是否为s4的子集  print s3.issubset(s4)  # s3是否为s4的超集  # 什么是超集:如果s3中的每一个元素都在集合s4中,且  # s4中可能包含s3中没有的元素,则s4就是s3的一个超集  print s3.issuperset(s4)    # 两个集合是不是不相交  print s3.isdisjoint(s4)

python中常用的内置方法

# 枚举:返回索引值和对应的value值  # s = 'hello'  # for i in s:  #     print i  # for i,v in enumerate('hello'):  #     print i  #     print type(i)  #     print v  #     print type(v)  #     print str(i) + '---->' + v    # s1 = 'abc'  # s2 = '123'  #  # for i in zip(s1,s2):  #     #print i  #     print '-'.join(i)

4.字典 1)字典的定义 字典是一个无序的数据集合,使用print输出字典的时候 通常输出的顺序和定义的顺序是不一致的

# message = {  #     'name':'tom',  #     'age':18,  #     'height':1.80,  #     'weight':75.5  # }  # print message  # s = {}  # print type(s)  # s = {  #     'fentiao':[100,90,80],  #     'westos':[199,199,199]  # }  # print s    d = dict()  print d,type(d)    d = dict(a=1,b=2)  print d,type(d)

2)字典的增加

d = dict(a=1, b=2)  # print d  # # 添加或者更改key-value对  # d['g'] = 10  # print d  # d['a'] = 10  # print d  """  update:      如果key值存在,更新value值      如果key值不存在,添加key-value值  """  # d.update({'a':4,'f':1})  # print d    """  setdefault      如果key值已经存在,不做修改      如果key值不存在,添加key-value值  """  d.setdefault('a',10)  print d

3)字典的删除

d = dict(a=1, b=2,c=3)  # pop:弹出指定的key-value值  # d.pop('a')  # print d  # print d  # d.popitem()  # print d    del d['a']  print d

4)字典的修改和查看

service = {      'http':80,      'mysql':3306  }    # 查看字典里面所有的key值  print service.keys()    # 查看字典里面所有的value值  print service.values()    # 查看字典里面所有的key-value值  print service.items()    # 遍历  for k,v in service.items():      print k,'---->',v    for k in service:      print k,'----->',service[k]    # print service['https']  # if 'https' in service:  #     print service['https']  # else:  #     print 'key not exist'    """  get方法获取指定key对应的value值      如果key值存在,返回对应的value值      如果key值不存在,默认返回None,如果需要指定返回值,传值即可  """  print service.get('http','key not exist')