Python学习笔记3_数据类型
Python数据类型:数字、字符串、列表、元祖、字典
一、数字类型:(整型、长整型、浮点型、复数型)
1、整型(int):表示范围-2,147,483,648到2,147,483,647
2、长整型(long):long的范围很大,几乎可以说任意大的整数均可以存储;123l、123L
为了区分普通整数和长整数,需要在整数后加L或者小写l
3、浮点型(float):0.0、12.0、-18.8、3e+7等
4、复数型(complex):python对复数提供内嵌支持,这是其他大部分软件所没有的;如:3.14j
二、字符串(string)
使用引号定义的一组可以包含数字,字母,符号(非特殊系统符号)的集合。
“张三”‘张三’单引号和双引号没有任何区别
三重引号(docstring)通常用来制作字符串
a=”abcde”:字符串的操作:1、a[0]= 'a'、a[0]+a[1]= 'ab';2、a[1:4]= 'bcd';3、a[::2]= 'ace'两步取一个。
三、元祖()
元祖和列别十分相似,只不过元祖和字符串一样是不可变的即你不能修改元祖
-元祖通过圆括号中用逗号分割的项目定义
-元祖通常用在使语句或用户定义的函数能够安全地采用一组值的时候,即被使用的元祖的值不会改变。
创建元祖
-一个空的元祖由一对空的圆括号组成
如demo=()
-含有单个元素的元祖
如single=(name,)
-一般的元祖
如test=('fansik', 'good', 'penguin')
如a,b,c=('fansik', 'good', 'penguin')
元祖操作
-元祖和字符串类型一样属于序列类型,可通过索引和切片操作
-元祖值亦不可变
四、序列-列表[]
l list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目。
l 列表是可变类型的数据
l 列表的组成:用[]表示列表,包含了多个以逗号分隔开的数字,或者字符串。
-list1=['fansik', 'maomao', 'wang', '张三']
-list2=[1,2,3,4,5,6]
-list3=[“str1”, “str2”, “str3”, “str4”, “str5”]
列表操作
-取值
切片或索引
list[]
-添加
list.append()
-删除
del(list[])
list.remove(list[])
-修改
list[]=x
-查找
var in list
五、序列的基本操作(字符串、元祖、列表)
1、len() 求序列长度
2、+ 连接两个序列
3、* 重复序列元素
4、in 判断元素是否在序列中
5、max() 返回最大的值
6、min() 返回最小的值
7、cmp(demo1,demo2) 比较2个的序列值是否相同
六、字典{}
l 字典是python中唯一的映射类型(哈希表)
l 字典对象是可变的,但是字典的键必须使用不可变对象,以使用不同类型的键值
l keys()或者values()返回键列表或者值列表
l items()返回包含键值对的元祖
创建字典
1、使用工厂方法dict()
例:fdict=dict(['x',1],[ 'y',2])
dic={'name':'fanjinbao','age':28,'gender':'male'}
2、内建方法:fromkeys(),字典中的元素具有相同的值,默认为none
例:ddict={}.fromkeys(('x','y'),-1)
访问字典中的值:
1、直接使用key访问:key不存在会报错,可以使用had_key()或者in和not in判断,但是has_key()方法即将废弃。
2、循环遍历
例:for key in dict1.keys()
3、使用迭代器:for key in dict1:
更新和删除
1、直接用键值访问更新:内建的update()方法可以将整个字典的内容拷贝到另一字典中
2、del dic['a']删除字典中键值为a的元素
-dic.pop('a')删除并且返回键为'a'的元素
-dic.clear()删除字典所有元素
-del dic删除这个字典
字典相关的内建函数:type()、str()、cmp()(cmp很少用于字典的比较,比较依次是字典的大小、键、值)
工厂函数dict()
例:1、dict(zip('x', 'y'),(1,2))或者dict(x=1,y=2)
2、{'y':2,'x':1}
3、使用字典生成字典比用copy慢,因此这种情况下推荐是用copy()
附上字典函数:
1、len(),hash()(用于判断某个对象是否可以做一个字典的键,非哈希类型报TypeError错误)
2、dict.clear():删除字典中所有元素
3、dict.fromkeys(seq,val=None):以seq中的元素为键创建并返回一个字典,val为指定的默认值
4、dict.get(key,default=none):返回key的value,如果该键不存在返回default指定的值
5、dict.has_key(key):判断字典中是否存在key,建议使用in和not in代替
6、dict.items():返回键值对元祖的列表
7、dict.keys():返回字典中键的列表
8、dict.iter*():itertems(),iterkeys(),itervalues()返回迭代子而不是列表
9、dict.pop(key[,default]):同get(),区别是若key存在,删除并返回dict[key],若不存在且default未指定值,抛出keyError异常。
10、dict.setdefault(key,default=None):同set(),若key存在则返回其value,若key不存在,则dict[key]=defaule.
11、dict.update(dict2):将dict2中的键值对添加到字典dict中,如果重复则覆盖,不重复则添加
12、dict.values():返回字典中所有值的列表。