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')