数字:
整型 int(integer)
python3中已经不区分整型int和长整型long,统一叫整型
浮点型 float(相当于小数)
举例:2e-4 == 2*(10**-4) == 0.0002 # e后面跟几就表示是10的几次方
2.3e+3 == 2.3*(10**3) == 2300
复数 complex
复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。举例:(-5+4j)和(2.3-4.6j)是复数的例子,其中-5,4为实数,j为虚数。
布尔值:
它只有2种状态:True 和 False
列表:
1 # __author:"#Cheng" 2 # date:2018/2/13 3 4 # 列表可以用来 增、删、改、查 5 # [ ]用中括号的形式表现出来。 6 # a = [] 相当于生成了一段空的列表,并且赋了一个叫a的变量。 7 # a = ['小明',‘小刚’,‘张三’,‘小李’,‘王二’] 列表中的元素用逗号隔开。它是存在位置关系的。 8 # a[3] 表示,3是索引(下标),索引都是从0开始。该字符串表示变量为a的列表中的第四个元素,因此输出结果是:小李 9 10 a = ['小明', '小刚', '张三', '小李', '王二'] 11 # 下面是从左到右取 12 print(a[3]) # 取出小李 13 print(a[1:3]) # 取出小刚和张三 14 print(a[1:]) # 冒号后面没有索引号,默认取出至最后一个元素 15 print(a[0:]) # 取出列表全部元素,同上 16 print(a[1:-1]) # 取出到倒数第二个元素,最后一个元素不取出 17 print(a[1:-1:2]) # 不连续,跳着取出元素:最后的2是“步幅”,就是隔一个取,如果换成1就是依次取,那就像上面一行 18 print(a[1::2]) # 同上。从索引1取到最后一个元素,隔一个取一个,因为步幅为2 19 20 # 下面是从右到左取 21 print(a[4::-2]) # 索引3开始反着数,而且是隔一个取一个 22 print(a[-1::-1]) # 从右往左提取全部元素:第一个-1是代表最后一个元素,第二个-1代表步幅从右往左 23 24 # 取出的列表还可以继续赋一个变量,该变量的列表将与原列无关 25 b = a[4::-2] # b = ['王二', '张三', '小明'] 26 print(b) 27 print(b[1::-1]) 28 29 # 判断某个元素是否在列表有以下三种方法 30 # .count 数这个元素在列表有几个,如果是0的话就说明没有。 31 # .index 根据内容查找对应的索引(下标)。 32 # print ('宝露' in a) “宝露”是否在列表a里面,在就输出结果True,不在就输出结果False。 33 # in用法的延伸:type(a) is list 判断a是否是一个列表,是输出True,否输出False 34 35 # -----------------------------分割线------------------------------- 36 37 # 增加 38 39 # append 是追加,它会把增加的值放到列表的“最后一项” 40 a.append('宝露') # 在该列表最后一项加上“宝露”这个元素。括号里面是所添加内容的值。 41 print(a[0:]) 42 43 # insert 是插入,可以插入任意位置,找需要填写对应索引值即可。 44 a.insert(3, '马二') # 括号里分别是新增位置的索引与新增的内容。 45 print(a[0:]) 46 47 # extend 增加列表进另外一个列表(扩展列表) 48 ext_a = [1, 2, 3] 49 ext_b = [4, 5, 6] 50 ext_a.extend(ext_b) # 把ext_b列表增加到ext_a列表中了,但是并不影响ext_b 51 print(ext_a) 52 print(ext_b) 53 54 # -----------------------------分割线------------------------------- 55 56 # 修改 57 58 # 一个元素的修改: 59 a[3] = '马大哈' # 先取出具体要修改的元素,然后直接赋值即可。比如这里我要把“马二”改成“马大哈”。 60 print(a[0:]) 61 62 # 多个元素的修改: 63 a[1:5:3] = ['小白', '大黑'] # 先取出要改的那几个元素,因为是多个元素,所以还是用中括号的列表格式把要改的元素写进去。例如把“小刚”和“小李”分别改成“小白”和“大黑” 64 print(a[0:]) 65 66 # -----------------------------分割线------------------------------- 67 68 # 删除 69 70 # remove删除:只能一个一个删。是list(列表)的内置方法,因此通过例如a.remove就行了。 71 72 a.remove(a[3]) # remove不能切片,一次只能删一个。 73 # a.remove('马大哈') 也可以写成这样进行删除。 74 print(a) 75 76 77 # pop删除:括号里面直接跟索引就可以删除。不加索引默认删除列表最后一个元素。但是pop可以将删掉的结果保留再进行赋值。 78 # a.pop(1) #这串字符表示删除了“小白”(索引是1) 79 # 然后被删除的“小白”的值可以继续返回,能被赋值到新的变量,可以继续被使用。如下: 80 b = a.pop(1) # 之所以可以赋值给变量b,是因为pop是有return(返回值)的,它比较特殊 81 print(a) 82 print(b) 83 84 # del删除:它啥都能删除。 85 del a[2:4] # 删除“大黑”和“王二” 86 print(a) 87 88 89 # -----------------------------分割线------------------------------- 90 91 # ______________________________________下面是新列表案例 92 93 # count 94 # count 比例有一个列表,count可以计算出某个元素在该列表中出现的次数 95 ex_count = ['王二', '三胖', '二狗', '王二', '三胖'].count('王二') # 列表.count(此处为要数的对象)。数的数量可以赋值一个变量,然后print。 96 print(ex_count) 97 98 # len 99 # 通过len可以查找列表长度,就是列表中所有元素数量! 100 101 print(len(a)) 102 103 104 # index 注意:如果列表中有好几个相同的元素,取能取相同元素中第一个的索引。 105 # index 通过具体元素找索引,之前是通过索引找具体元素 106 a.index('小明') # 括号里是具体要找的元素内容 107 print(a.index('小明')) # 输出索引值(下标) 108 109 110 # reverse 111 # reverse 正序或倒序进行排序 112 a.reverse() 113 print(a) 114 115 116 # sort 117 # sort 对数字进行排序 118 ex_num = [7, 8, 8, 5, 1, 7, 3, 8] 119 ex_num.sort() # 括号 120 print(ex_num) 121 122 # sort 对字符串进行排序 ,按ASCII码的顺序排列,因为在ASCII码中,每一个字符都有一个对应的编号。 123 a.sort() 124 print(a)
元组:
1 # __ author:"#Cheng" 2 # date:2018-02-13 3 4 # tuple元组 可以理解为只读列表,不能修改。跟列表的区别就是----元组是小括号,列表是中括号。 5 tup_1 = () # 空元组 6 tup_2 = ('小程', '小马', '小李', ) # 后面一定要加逗号,加逗号才会被认为是元组。 7 8 print(tup_2[1])
字典:
1 # __author:"Cheng" 2 # date:2018/2/15 3 4 # Dictionary 字典 :1.无序 2.键唯一 5 # 字典是无序存储,因此也没有位置关系,与列表相比,它没有位置和索引 6 7 # 不可变类型:整形、字符串、元组 8 # 可变类型:列表、字典 9 10 11 12 # 创建字典 13 14 15 # 下面是创建字典 。字典是可修改的,但是它的键必须要存不可修改的元素!否则程序会报错。 16 dic1 = {'name':'宝露', 'age':27, 'sex':'male', 'hobby':'学习', 'is_goodboy':True } # 键值对里的值存什么都可以。字典用大括号创建,里面是一组一组的键值对,左边是键,右边是值。 17 dic2 = dict((('name','宝露'),)) # 不常用。上面是第一种创建方式,这是第二种创建字典的方式。 18 print(dic1) # 输出的结果是无序的,并不一定会按照上面的顺序输出。 19 print(dic2) 20 21 # 查1 通过键查值 22 print(dic1['hobby']) # 查字典的值用中括号,与列表类似,但是里面必须是键,而不是索引。 23 24 # 查2 keys查字典里全部的键 25 print(dic1.keys()) # 它所输出的是dict_keys(['name', 'age', 'sex', 'hobby', 'is_goodboy']),是新的数据类型,并不是列表。 26 list(dic1.keys()) # 如果想把它们作为列表使用,可以用list把它们转换为list列表。 27 print(list(dic1.keys())) # 让我们输出看一下转换成列表以后是啥样儿吧。 28 29 # 查3 values查字典里全部的值 30 print(dic1.values()) # 它所输出的是dict_values(['宝露', 27, 'male', '学习', True]),是新的数据类型,并不是列表。 31 list(dic1.values()) # 如果想把它们作为列表使用,可以用list把它们转换为list列表。 32 print(list(dic1.values())) # 让我们输出看一下转换成列表以后是啥样儿吧。 33 34 35 # 查4 items查字典里全部的键值对 36 print(dic1.items()) # 把你字典全部的键值对以元组的方式输出。 37 print('查4') # 如果想把它们作为列表使用,请看上面的方法吧,它是dict_items... 38 39 40 41 # 增加字典 42 43 # 增加字典,方法一: 44 dic_add = {'Monday':'上班'} # 创建一个dic_add的字典 45 print(dic_add) # 输出字典 46 dic_add['时间'] = '上午9:00' # 新增一个键值对 47 print(dic_add) # 查看新增后的字典 48 49 # 增加字典,方法二: 50 # setdefault 是有返回值的! 51 # 如果已经有了重名键,那么就不会改动,并且返回原键的值。如果没有,那么将增加键值对,返回新增的值。 52 dic_add.setdefault('下班时间', '下午5:00') # setdefault是字典自带的对象,键值分别用逗号隔开,并不是冒号哦。 53 print(dic_add) # 如果键名与现有键名重复,那么将不起作用,不会对现在有键的值进行修改并且也不会增加。 54 55 56 57 # 修改字典 58 # 把键取出来,直接赋值就行了,跟列表的修改方式一样。只不过列表是通过索引改,字典是通过键来改。 59 60 # 修改方式一: 61 dic_change = {'周一天气':'晴朗'} # 创建字典 62 print(dic_change) # 输出刚刚创建的字典 63 dic_change['周一天气'] = '小雨夹雪' # 根据键,修改值 64 print(dic_change) # 输出查看 65 66 67 # 修改方式二:update 68 # 将一个字典内容全部加到另外一个字典,键重复的话将旧值将被覆盖 69 dic_change_1 = {'生活':'工作', '努力':'拼搏'} 70 dic_change_2 = {'2018':'加油', '努力':'奋斗'} 71 dic_change_1.update(dic_change_2) # 把dic_change_2 里的内容,全部加到dic_change_1里面去。谁在第一个谁是老大。 72 print(dic_change_1) 73 74 75 76 # 删除 77 # del 字典 : 删除整个字典。 78 79 # 删除方法一 del: 80 # del 输入键,删除一组键值对 81 dic_del = {'梦想1':'理想1', '回忆1':'青春1', '消逝1':'光阴1'} 82 print(dic_del) 83 del dic_del['梦想1'] 84 print(dic_del) 85 86 # 删除方法二 pop 有返回值,不返回键,只返回值: 87 # 列表里的pop通过索引删除,字典通过键删除。 88 dic_del_1 = {'梦想3':'理想3', '回忆3':'青春3', '消逝3':'光阴3'} 89 print(dic_del_1) 90 re_test = dic_del_1.pop('消逝3') 91 print(re_test) # 返回的是值,而不是键,也不是键值对 92 print(dic_del_1) 93 94 95 # 删除方法三 popitem 96 # popitem 随机删除并以元组方式返回值 97 dic_del_a = {'梦想a':'理想a', '回忆a':'青春a', '消逝a':'光阴a'} 98 print(dic_del_a) 99 re_test_a = dic_del_a.popitem() 100 print(re_test_a) # 返回随机删除的键值对 101 print(dic_del_a) # 看看现在的字典 102 103 104 # 删除方法四 clear 清空字典: 105 # clear 清空字典,变成一个空字典,但是所赋值的变量还在 106 dic_del_2 = {'梦想2':'理想2', '回忆2':'青春2', '消逝2':'光阴2'} 107 print(dic_del_2) 108 dic_del_2.clear() 109 print(dic_del_2) 110 111 112 113 114 # __________________________________其它操作: 115 116 # 创建值都是一样的字典 117 # 弊端:值是单个元素修改就不要紧,如果值是一个列表,当修改这个对应字典键的列表中的某个索引对应的内容时,把把其它键值对的值(列表)也一起替换掉。 118 dic_new = dict.fromkeys(['小芳', '小丽', '小美'], '女') # 括号里面的逗号左边是列表(相当于不同的键),右边相当于值。左边列表里的键都对应相同的值。 119 print(dic_new) # 返回一个字典,它们的键不同,但是值相同。 120 121 122 # 字典的嵌套 123 info_stu = {'小张':{'age':23, 'sex':'男', 'hobby':'读书'}, 124 '小李':{'age':19, 'sex':'女', 'hobby':'看电影'}, 125 '小王':{'age':29, 'sex':'男', 'hobby':'游泳'}, 126 '小孟':{'age':27, 'sex':'女', 'hobby':'跑步'}, 127 '小丁':{'age':22, 'sex':'男', 'hobby':'旅游'} 128 } 129 130 print('小张', info_stu['小张']) # 打印小张信息 131 print(info_stu['小张']['hobby']) # 打印小张爱好 132 133 134 135 136 # sorted 字典的排序 137 # 根据键进行排序 如果是数字就由小到大,如果是字符串,就按照ASCII码排序 138 dic_paixu = {6:'520', 8:'6', 3:'晚餐'} 139 print(sorted(dic_paixu)) # 对键进行排序 140 print(sorted(dic_paixu.items())) # 对键值对进行排序,相当于对键进行排序,跟上面一样 141 print(sorted(dic_paixu.values())) # 对值进行排序 142 143 144 145 146 # 字典的遍历 147 # 默认循环遍历字典时,会默认循环遍历里的键 相当于dic.keys 148 dic_loop = {'小学':'拼音', '中学':'代数', '大学':'逃课'} # 输出遍历 键 149 for i in dic_loop: 150 print(i) 151 152 dic_loop = {'小学':'拼音', '中学':'代数', '大学':'逃课'} # 输出遍历 值 153 for i in dic_loop.values(): 154 print(i) 155 156 dic_loop = {'小学':'拼音', '中学':'代数', '大学':'逃课'} # 输出遍历 键值 (推荐) 157 for i in dic_loop: 158 print(i, dic_loop[i]) 159 160 dic_loop = {'小学':'拼音', '中学':'代数', '大学':'逃课'} # 输出遍历 键值 (items) 161 for i, v in dic_loop.items(): 162 print(i, v) 163