python第一模块数据类型

一·进制之间的转换

十进制转换为二进制:逆序取余法。

二进制转换为十进制:如1101  1*2^0 + 0*2^1 + 1*2^2 +1

十六进制转换为二进制:231     0010  0011  0001

二进制转换成十六进制:从右往左,四个一位

八进制转换为二进制: 23    010 011

二进制转换为八进制: 从右往左,三个一位

bit是计算机中最小的表示单位,0或1所占的空间单位为一个bit。

1个字节是八个bit 1bytes = 8bit  bytes缩写为B

二·字符编码

Unicode编码:国际标准字符集。

UTF-8:对Unicode进行压缩和优化。

windows系统中文版默认GBK。

Mac和Linux默认UTF-8.

python3 默认编码是UTF-8

三·浮点数

有理数:有理数是整数和分数的集合。有理数的小数部分是有线或者无线循环小数。

无理数:又称为无限不循环小数。常见的无理数有圆周率,非完全平方数的平方根。

实数:有理数和无理数的总称。

复数:a + bi形式。计算机一般不用i,用j。

科学计数法:把一个数表示成10的n次幂形式。

四·python精度问题

计算高精确度浮点数的方法。

decimal 是一个内置模块,context和Decimal都是decimal里面的方法,getcontext().prec = 50 设置精度为50.

五·列表的功能

1.创建

a =【】,a =list()定义空列表

2.查询

L = 【‘a’,‘b’,‘’c】, L【2】#通过索引取值。

L·index(‘’b‘’) #从左往右查找第一个b所在的位置。

L·count(‘b’) #统计指定元素的个数。

3.切片

L = ['a','b','c']    L[0:2]  # 第一和第二个值,顾头不顾尾。

4.增加

append() # 插入到列表最后一个位置

insert() # insert(3,‘’f),在列表索引为3的位置插入一个f,原来3位置上的元素以此向后退。

5.修改

6.删除

pop() #删除最后一个元素。

remove() #删除从左到右找到的第一个元素,例如L·remove(‘a’)

del L[:]    #删除指定的元素。

7.循环

for ...in....

8.排序

sort() #正向排序 

如果里边里都是int 或者str 会自动比较大小进行排序。

reserve()#反向排序

对列表里的元素进行反向排序,不会比较大小。

>>> a.sort()
>>> a
['a', 'e', 'm', 't', 'y']
>>> b = ["e","r","a","c","b"]
>>> b.sort()
>>> b
['a', 'b', 'c', 'e', 'r']
>>> c = [1,3,6,4,5,2]
>>> c.sort()
>>> c
[1, 2, 3, 4, 5, 6]
>>> b = ["e","r","a","c","b"]
>>> b.reverse()
>>> b
['b', 'c', 'a', 'r', 'e']
>>> d = [1,2,3,7,5,4,2]
>>> d.reverse()
>>> d
[2, 4, 5, 7, 3, 2, 1]

  

扩展列表

L.extend(L2)

把L2列表里的值放到L里面。

>>> a = [1,2,3,4,5]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 'b', 'c', 'a', 'r', 'e']
>>> b
['b', 'c', 'a', 'r', 'e']

  

嵌套列表取值

L[1][2]

>>> list = [1,2,3,[1,2,3,4,5],5,67,8]
>>> list[3][2]
3

  

L.clear()#清空列表

>>> list.clear()
>>> list
[]

  

六·元组

元组和列表一样,只是元组创建以后不能进行修改。用括号,而不是方括号。

所以元组又叫只读列表。

元组本身不可变,元组中的其他列表可以改变。

>>> b = (1,2,3,[1,2,3])
>>> b[3][1] = 5
>>> b
(1, 2, 3, [1, 5, 3])

  

 

hash(),一般叫散列。把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。

被hash的值必须固定,这就要求被hash的值是不可变的。

数字,字符串,元组是不可变的,可以被hash。

七.字典

key-value的数据类型,键值对。

key必须可hash,必须为不可变数据类型,必须唯一。

特性:无序,查找方便。

字典用花括号{ }。

查找字典里的值:字典名·get(key),没有的key不会报错,只会返回None。

字典名(key) 没有的值会产生报错。

查找所有key:字典名·keys()

查找所有values:字典名·values()

dict.setdefault(key,[default])
如果键在字典中,返回这个键所对应的值。如果键不在字典中,向字典 中插入这个键,并且以default为这个键的值,并返回 default。default的默认值为None

dict.setdefault( )

dict.update()  

作用:把括号里的字典更新到dict里面。

和列表的extend类似,只是字典key唯一。

>>> a
{1: 2, 2: 3, 3: 4}
>>> b = {2:4,5:6,7:8}
>>> a.update(b)
>>> a
{1: 2, 2: 4, 3: 4, 5: 6, 7: 8}

  

dict.items()

将字典转化为列表

>>> a = [(1,2),(2,3),(3,4),(4,5),(5,6)]
>>> a[1]
(2, 3)
>>> for k,v in a:
	print(k,v)

	
1 2
2 3
3 4
4 5
5 6
>>> for k in a:
	print(k)

	
(1, 2)
(2, 3)
(3, 4)
(4, 5)
(5, 6)

  

循环

八.集合

集合元素特性:1· 确定性(元素必须可以hash)

       2.互异性(去重)

       3.无序性(集合中的元素没有先后之分,如{2,3,4,5}和{2,4,3,5},是一个集合)

交集(intersection)

a.intersection(b)  或者 a&b。

差集

a.difference(b) 或者a - b.

并集

a.union(b)或者 a | b

对称差集

a.symmetric_difference(b) 或者 a^b (a和b差集对称)

包含关系

oct()八进制

hex()16进制

 

posted @ 2018-01-05 21:52  Roc_Atlantis  阅读(164)  评论(0编辑  收藏  举报