python数据结构

原创 Laughing  2018-01-30 00:38  阅读 70 次 评论 0 条

  1. # -*- coding: utf-8 -*-  
  2. """ 
  3. Created on Sat Jan 27 01:12:05 2018 
  4. @author: Laughing 
  5. Blog:木子网 
  6. WebSite:www.lisen.me 
  7. Email:lisen@lisen.me 
  8.  
  9. """  
  10.   
  11. """ 
  12. type命令 
  13. """  
  14. #type()命令用于检查值或者变量的类型  
  15. print(type(5)) #<class 'int'>  
  16. print(type(None)) #<class 'NoneType'>  
  17. print(type(print)) #<class 'builtin_function_or_method'>  
  18. """ 
  19. 序列 
  20. """  
  21. #序列是一组按照顺序排列的值  
  22. #python内置的三种序列,字符串、元组和列表  
  23. """ 
  24. 元组  -  一种不可变序列,可以包含零个或者多个值 
  25. """  
  26. items = (-6,'cat',(1,2))  
  27. print(items#(-6, 'cat', (1, 2))  
  28. #单元素元组中,最后一个逗号必不可少  
  29. item = (1,)  
  30. print(item) #(1,)  
  31. #我们可以使用type检查一下元组的类型  
  32. print(type(item)) #<class 'tuple'>  
  33. """ 
  34. 元组函数 
  35. """  
  36. # in tup #如果元素x在tup元组中返回True  
  37. # len(tup) #元组tup包含的元组个数  
  38. # tup.count(x) #元组tup中x元素的个数  
  39. # tup.index(x) #元组tup中第一个元素x的索引,如果元组中不包含x,引发ValueError异常  
  40. # 使用+ * 连接元组  
  41. pets = ('dog','cat','bird','dog')  
  42. print('bird' in pets) #True  
  43. print(len(pets)) #4  
  44. print(pets.count('dog')) #2  
  45. print(pets.index('cat')) #1  
  46. #print(pets.index('sss')) #ValueError: tuple.index(x): x not in tuple  
  47. tup1 = (1,2,3)  
  48. tup2 = (4,5,6)  
  49. print(tup1 + tup2) #[1, 2, 3, 4, 5, 6]  
  50. print(tup1 * 2) #[1, 2, 3, 1, 2, 3]  
  51. ''' 
  52. 列表---列表是可变的 
  53. '''  
  54. #元组的方法在列表中几乎都是存在的,这里不再赘述  
  55. #单列表只含有一个元素时,可以不包含最后的',',这一点跟元组不太一样  
  56. list1 = [1]  
  57. print(list1) #[1]  
  58. #如果是元组,执行一下语句会报错  
  59.             #pets[3] = 'frog' #TypeError: 'tuple' object does not support item assignment  
  60. list2 = ['dog','cat']  
  61. list2[-1] = 'frog'  
  62. print(list2) #['dog', 'frog']  
  63. ''' 
  64. 列表函数 
  65. '''  
  66. #s.append(x) #像列表s末尾添加元素x  
  67. #s.count(x) #统计列表s中元素x的个数  
  68. #s.extend(lst) #将列表lst添加到列表s中  
  69. #s.index(x) #返回列表s中第一次x的索引  
  70. #s.insert(i,x) #将元素x插入到指定索引i的前面  
  71. #s.pop(i) #删除并返回索引为i的元素  
  72. #s.remove(x) #删除第一个x元素  
  73. #s.reverse() #反转排列顺序  
  74. #s.sort() #将元素按照升序排列  
  75. def numNote(lst):  
  76.     msg = []  
  77.     for num in lst:  
  78.         if str(num).isdigit():  
  79.             if(int(num) < 0):  
  80.                 msg.append(str(num) + '是负数,')  
  81.             else:  
  82.                 msg.append(str(num) + '是正数,')  
  83.         else:  
  84.                 msg.append(str(num) + '不是有效数值')  
  85.     print(msg)  
  86. numNote([-1,2,3,'p','9']) #['-1不是有效数值', '2是正数,', '3是正数,', 'p不是有效数值', '9是正数,']  
  87.   
  88. #下面看一下append和extend的区别  
  89. #append是插入一个元素,而extend是插入一个列表  
  90.   
  91. list3 = []  
  92. list3.append('cat')  
  93. print(list3) #['cat']  
  94.   
  95. list3 = []  
  96. list3.extend('cat')  
  97. print(list3) #['c', 'a', 't']  
  98.   
  99. #使用pop(index)删除指定索引的元素,如果没有指定索引,默认删除最后一个元素  
  100. print(list3.pop(1)) #a  
  101. print(list3.pop()) #t   
  102. print(list3) #['c']  
  103. list3.remove('c')  
  104. print(list3) #[]  
  105.   
  106. #列表解析  
  107. #python提供了一种快速创建列表的方法  
  108. #比如下面创建一个包含1~10元素的列表  
  109. print([n for n in range(1,11)]) #[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]  
  110.   
  111. #使用列表解析进行筛选  
  112. nums = [-1,0,6,-4-2,3]  
  113. result  = [n for n in nums if n >0]  
  114. print(result) #[6, 3]  
  115.   
  116. ''' 
  117. 字典 --- 字典用于存储键值对 
  118.     1、字典键必须是唯一的 
  119.     2、键必须是不可变的 
  120. '''  
  121. color = {'red':1,'blue':2,'green':3}  
  122. print(color) #{'red': 1, 'blue': 2, 'green': 3}  
  123. color['green'] = 4  
  124. print(color['green']) #4  
  125.   
  126. ''' 
  127. 字典函数 
  128. '''  
  129. #d.items() 返回字典d 键-值对组成的视图,字典变化会同步更新视图  
  130. #d.keys() 返回字典键组成的视图,字典变化会同步更新视图  
  131. #d.values() 返回字典值组成的视图,字典变化会同步更新视图  
  132. #d.get(key) 返回key的值  
  133. #d.pop(key) 删除键为key的值,并返回  
  134. #d.popitem() 返回字典d中某一个键值对  
  135. #d.clear() 删除字典d的所有值  
  136. #d.copy() 复制字典  
  137. #d.fromkeys(s,t) 创建一个新字典,其键来自s,值来自t  
  138. #d.setdefault(key,v) 如果key包含在字典d中,则返回其值,否则,返回v并将(key,v)添加到字典d中  
  139. #d.update(e) 将e中的键值对添加到字典d中;e可以是字典,也可以是键值对序列  
  140. colors = {'red':1,'black':2,'green':3,'blue':4}  
  141. ditems = colors.items()  
  142. print(ditems) #dict_items([('red', 1), ('black', 2), ('green', 3), ('blue', 4)])  
  143. print(colors.pop('red')) #1  
  144. print(ditems) #dict_items([('black', 2), ('green', 3), ('blue', 4)])  
本文地址:https://www.lisen.me/python-data-structure.html
版权声明:本文为原创文章,版权归 木子网 所有,欢迎分享本文,转载请保留出处!

发表评论


表情