Python基础 基本数据类型
基本数据类型
1.数字
int,float浮点型,复数型,bool型
bool型只有两个值:True和False
2 .字符串
字符串是一个有序的字符的集合,用于存储和表示基本的文本信息,' '或'' ''或''' '''中间包含的内容称之为字符串。
s = 'Hello,abc?'
按照从左到右的顺序定义字符集合,下标从0开始顺序访问,有序
补充:
1.字符串的单引号和双引号都无法取消特殊字符的含义,如果想让引号内所有字符均取消特殊意义,在引号前面加r,如name=r'l\thf'
2.unicode字符串与r连用必需在r前面,如name=ur'l\thf'
常用操作:
1 # 索引 2 s = 'hello' 3 print(s[1], s[-1]) 4 print(s.index('o')) 5 6 # 查找 7 print(s.find('l')) 8 print(s.find('o')) 9 10 # 移除空白 11 s = " hello,world! " 12 print(s.strip()) 13 print(s.lstrip()) 14 print(s.rstrip()) 15 s1 = "****hello,world!**" 16 print(s1.strip('*')) 17 18 19 # 长度 20 s = 'hello' 21 print(len(s)) 22 23 # 替换 24 s = "hello world" 25 print(s.replace('h', 'z')) 26 27 # 切片 28 s = 'xssccwddwwecxwasc' 29 print(s[0:5]) 30 print(s[5:9]) 31 print(s[:5]) 32 print(s[:]) 33 print(s[0:8:2]) 34 print(s[::2]) 35 print(s[::-1])
3.列表类型
定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素
列表的创建
list=['alex','123','eric']
或list=list('alex')
或list=list(['alex','123','eric'])
列表的特点和常用操作:
1.可存放多个值
2.按从左到右的顺序定义列表元素,下标从0开始顺序访问,有序
3.可修改指定索引位置对应的值,可变
常用操作:
1 # 索引 2 l = ['alex','egon','yuan','eric'] 3 print(l[0]) 4 print(l[2]) 5 6 # 切片 7 print(l[0:2]) 8 print(l[2:4]) 9 print(l[2:]) 10 print(l[:]) 11 print(l[::2]) 12 print(l[::-1]) 13 14 # 追加 15 l.append('eva') 16 print(l) 17 18 # 删除 19 l.remove("eva") 20 print(l) 21 l.pop() 22 print(l) 23 24 # 长度 25 print(len(l)) 26 27 # 包含 28 print("sev"in l) 29 print('alex' in l) 30 31 # 循环 32 for i in l: 33 print(i)
列表与字符串--split和join
1 # 分割 2 s = "hello world" 3 print(s.split(" ")) 4 s1 = "hello,world" 5 print(s1.split(",")) 6 7 # 连接 8 l = ['hi','eva'] 9 print(','.join(l))
4.元祖
元组的定义和特性
定义:与列表类似,只不过[]改成()
特性:
1.可存放多个值
2.不可变
3.按照从左到右的顺序定义元组元素,下标从0开始顺序访问,有序
元祖的创建:
ages=(11,22,33,44,55)
或ages=tuple((11,22,33,44,55))
常用操作:
1 #索引 2 >>> ages = (11, 22, 33, 44, 55) 3 >>> ages[0] 4 11 5 >>> ages[3] 6 44 7 >>> ages[-1] 8 55 9 10 #切片:同list 11 12 #循环 13 >>> for age in ages: 14 print(age) 15 16 17 11 18 22 19 33 20 44 21 55 22 23 #长度 24 >>> len(ages) 25 5 26 27 #包含 28 >>> 11 in ages 29 True 30 >>> 66 in ages 31 False 32 >>> 11 not in ages 33 False
元祖特性详解:
1.可存放多个值,如果只有一个值:
t=(1,)
元祖不仅可以存放数字,字符串,还能存放更加复杂的数据
2.不可变
元祖本身不可变,如果元祖中包含其他可变元素,这些元素可以改变。
5.字典
字典是Python语言中唯一的映射类型。
定义:{key1:value1,key2:value2}
特性:
1.key-value结构
2.key必须可hash,且必须为不可变数据类型,必须唯一
3.可存放多个值,可修改,可以不唯一
4.无序
字典的创建与常见操作:
字典的创建:
1 person = {"name": "alex", "age": 20} 2 # person = dict(name='seven', age=20) 3 # person = dict({"name": "egon", "age": 20}) 4 # person = dict(['name','alex'],['age',19]) 5 dic={}.fromkeys(['k1','k2'],[]) 6 print(dic) 7 dic['k1'].append(1) 8 print(dic)
字典的常见操作:
1 dic = {"name":'123',"age":18} 2 print(dic.keys()) 3 print(dic.values()) 4 print(dic.items()) 5 6 # 新增 7 dic["new_key"] = "new_value" 8 dic.setdefault('key',None) #如果字典中不存在Key键,由 dic[key] = default 为它赋值; 9 print(dic) 10 11 # 删除 12 # print(dic.pop('key')) 13 # dic.clear() 14 15 # 修改 16 dic2={"aaa":111} 17 dic['key']='new_value' 18 dic.update(dic2) 19 20 # 查看 21 print(dic['key']) 22 dic.get('key') # 返回字典中key对应的值,若key不存在字典中,则返回default的值(default默认为None) 23 24 # 循环 25 for k in dic.keys(): 26 print(k) 27 for k,v in dic.items(): 28 print(k,v) 29 30 for k in dic: 31 print(k) 32 33 # 长度 34 print(len(dic))
6.集合
集合是一个数学概念:由一个或多个确定的元素所构成的整体叫做集合。
集合中的元素有三个特征:
1.确定性(元素必须可hash)
2.互异性(去重)
3.无序性(集合中的元素没有先后之分),如集合{3,4,5}和{3,5,4}算作同一个集合。
注意:集合存在的意义就在于去重和关系运算
集合的关系运算:
1 l={'abc',111,'zxc'} 2 p={'abc',222,'zxc'} 3 # 集合求交集 4 print(l&p) 5 print(l.intersection(p)) 6 7 # 集合可以去重 8 set1={1,2,3,1,2} 9 print(set1) 10 # 改为不可变集合 11 set2=set("hello") 12 print(set2) 13 set2=frozenset(set2) 14 print(set2) 15 16 # 集合的合集 17 print(l|p) 18 print(l.union(p)) 19 20 # 集合的差集 21 print(l-p) 22 print(l.difference(p)) 23 24 # 集合的对此差集 25 print(l.symmetric_difference(p)) 26 print(l ^ p)
包含关系
in,not in:判断某元素是否在集合内
==,!=:判断两个集合是否相等
两个集合之间一般有三种关系,相交、包含、不相交。在Python中分别用下面的方法判断:
- set.isdisjoint(s):判断两个集合是不是不相交
- set.issuperset(s):判断集合是不是包含其他集合,等同于a>=b
- set.issubset(s):判断集合是不是被其他集合包含,等同于a<=b
集合常用操作:
1 """ 2 单个元素的增加 : add(),add的作用类似列表中的append 3 4 对序列的增加 : update(),而update类似extend方法,update方法可以支持同时传入多个参数: 5 """ 6 7 a={1,2} 8 a.update([3,4],[1,2,7]) 9 print(a) 10 a.update("hello") 11 a.add("hello") 12 print(a) 13 14 """ 15 元素的删除 16 17 集合删除单个元素有两种方法: 18 19 元素不在原集合中时: 20 21 set.discard(x)不会抛出异常 22 23 set.remove(x)会抛出KeyError错误 24 """ 25 a={1,2,3,4} 26 a.discard(1) 27 print(a) 28 a.discard(1) 29 print(a) 30 # a.remove(1) 31 32 """ 33 pop():由于集合是无序的,pop返回的结果不能确定,且当集合为空时调用pop会抛出KeyError错误, 34 35 clear():清空集合 36 """ 37 38 a={3,"a",2.1,1} 39 a.pop() 40 print(a) 41 a.pop() 42 a.clear() 43 print(a) 44 a.pop()
浙公网安备 33010602011771号