python之数据类型
数据类型
整形:int 例如:age=18
整形为整数类型,在Python中为int类型 没有long类型,包含正整数、负整数、0
浮点型:float 例如:score=99.9
布尔型:True、False。不是真就是假,还有0或1,非0即真
字符串:string name='hwt'
常用的字符串方法:
# a=' 字 符 串 \n\n\n\n\n' # c = a.strip() #默认去掉字符串两边的空格和换行符 # c= a.lstrip() #默认去掉字符串左边的空格和换行符 # c = a.rstrip() #默认去掉字符串右边的空格 # print('c...',c) # print('a...',a) words = 'http://www.nnzHp.cn' # print(words.strip('day')) #如果strip方法指定一个值的话,那么会去掉这两个值 # print(words.count('a')) #统计字符串出现的次数 #print(words.index('z')) #找下标,如果元素找不到的话,会报错 # print(words.find('z')) #找下标,如果元素找不到的话,返回-1 # print(words.replace('day','DAY')) #替换字符串 # print(words.isdigit()) #判断字符串是否为纯数字 # print(words.startswith('http')) #判断是否以某个字符串开头 # print(words.endswith('.jpg')) #判断是否以某个字符串结尾 # print(words.upper()) #变成大写的 # print(words.lower()) #变成小写的 #print(a.startswith('text'))#以text开头#print(a.endswith('.xls'))#以.xls结尾 username = 'abcdefADS12345@#¥' # print(username.isalpha()) #判断字符串是否全为字母 # print(username.isalnum()) #判断是否包含字母和数字,它是只要有字母或者有数字就返回true ''.join('')#连接字符串 #它把一个list变成了字符串,并且通过某个字符串把list里面的每个元素链接起来, # 只要是可以循环的,join都可以帮你连接起来 #sl=str(l)不是将list的字符串连接起来,如下: # l=['a','b','c','d'] # sl=str(l)#其实是sl='['a','b','c','d']' # print(sl[0])#输出为:[# str=['zhang','liu','liang'] # str=''.join(str)#它把一个list变成了字符串 # str1='-'.join(str)#'-'表示用-连接字符,通过某个字符串把list里面的每个元素链接起来 # print(str) # print(str1)# import string # print(string.ascii_lowercase)#所有的小写字母 # print(string.ascii_uppercase)#所有的小写字母 # print(string.digits)#所有的数字 # print(string.ascii_letters)#所有的大写字母和小写字母 # print(string.punctuation)#所有的特殊字符 # res='.'.join(string.ascii_lowercase)# # print(res) #format方法 name='niuhayang,zch,caoran,yangyafu' name_list=name.split(',')#分割字符串 print(name_list) name_list1=name.split('h')#根据某个字符串,分割字符串,以谁分割,该字符串则不在出现 print(name_list1) user='明明' sex='男' age=18 addr='天河区' money='1000w' cars='1w台' words='inser into user values("%s","%s","%s","%s","%s","%s")'%(user,sex,age,addr,money,cars) sql='inser into user values({name},{sex},{age},{addr},{qian},{che});' new_sql=sql.format(age=age,che=cars,name=user,sex=sex,qian=money,addr=addr) print(new_sql)print ('欢迎光临'.center(50,'*'))#50个*,将字符串欢迎光临居中
列表
list 也叫数组,用[]表示,里面可以再套列表,一个里面套一个列表,叫二维数组;一个里面套一个列表,里面的列表再套一个列表,这个叫三维数组
list=[1,2,3,4,5,6,7]#一维数组
list=['apple','red',['hello','world']]#二维数组
list=['apple','red',['hello','world',['beijing','广州']]]#三维数组
列表操作:
增:
list=[] list.append('北京')#在列表最后面添加北京 list.insert(0,'上海')#在列表指定位置(下标为0)插入上海
删:
list=['上海', '北京', '广州', '深圳'] list.remove('广州')#删除指定值:广州 print(list) list.pop(1)#删除下标为1:北京,不传入下标的话,删除最后一个值,传入下标删除指定位置的值 print(list) del list[1]#删除指定位置的值 print(list) list.clear()#清空列表 print(list)
#结果:
#['上海', '北京', '深圳']
#['上海', '深圳']
#['上海']
#[]
改:
#改 list=['上海', '北京', '广州', '深圳','广州'] list[0]='重庆' #下标为0的上海修赋值改为重庆,相当于将list[0]重新赋值为重庆 print(list)#结果:#['重庆', '北京', '广州', '深圳', '广州']
查:
list=['上海', '北京', '广州', '深圳','广州'] list[0]='重庆' #下标为0的上海修赋值改为重庆,相当于将list[0]重新赋值为重庆 print(list) print(list[0])#查看第一个元素 print(list[-1])#查看最后一个元素 print(list[1:3])#查看下标1-2的元素,1:3表示从下标1到下标2,不到下标3,顾头不顾尾 print(cities.index('广州')) #获取元素的下标,如果找不到那个元素的话,会报错 print(cities.count('广州')) #查看元素在list里面出现了多少次#结果: #['重庆', '北京', '广州', '深圳', '广州'] #重庆 #广州 #['北京', '广州']
反转:
my_list = ['python','jmeter','charles','postman'] print(my_list.reverse()) #就是把这个list反转一下 print(my_list) 结果: ['postman', 'charles', 'jmeter', 'python']
排序:
num.sort() print(num) nums = ['h','w','t','a','d','h'] nums.sort() #排序,升序 print(nums) nums.sort(reverse=True) #排序,降序 print(nums) list=['上海', '北京', '广州', '深圳','广州'] list.sort()#排序,升序 print(list) list.sort(reverse=True) #排序,降序 print(list) print(num+list) print(list*3) #复制几次 #多维数组取值 words = ['view','code','tools',['price','num',198,['hello','usa','吃鸡']] ] #二维数组 print(words[-1][-1][1]) print(words[-1][2]) names=[ ['小黑',['小绿',138]],'小红',['小紫',['小白']]] # print(names[-1][-1]) print(names[0][-1][-1]) #结果 [1, 2, 5, 10, 12, 29, 33, 34, 38, 47, 68] ['a', 'd', 'h', 'h', 't', 'w'] ['w', 't', 'h', 'h', 'd', 'a'] ['上海', '北京', '广州', '广州', '深圳'] ['深圳', '广州', '广州', '北京', '上海'] [1, 2, 5, 10, 12, 29, 33, 34, 38, 47, 68, '深圳', '广州', '广州', '北京', '上海'] ['深圳', '广州', '广州', '北京', '上海', '深圳', '广州', '广州', '北京', '上海', '深圳', '广州', '广州', '北京', '上海'] usa 198 138
切片:
nums = ['段佳林','陈卫亮','王占宇','李博']# 0 1 2 3 print(nums[0]) print(nums[1:3]) #顾头不顾尾 print(nums[1:]) #如果从某个下标开始取,取到末尾结束,那么末尾的下标可以省略不写 print(nums[:2]) #如果是从头开始取,取到后面某个下标结束,那么开头的下标可以不写 print(nums[:]) #取所有的 lis = list(range(1,21)) print(lis) print(lis[::2]) #步长,隔几个取一次 print(lis[::-2]) #步长,隔几个取一次 #如果步长是正数的话,从左往右边开始取值 #如果步长是负数的话,从右边往左边开始取值 print(lis[::-1]) #反转list print(lis[1::-1]) print(lis[:]) lis.reverse() #改变了原来list的值 new_list = lis[::-1] #产生了新的一个list,不会改变原来list的值 print(new_list) print(lis)#切片操作同样适用于字符串。 info = '你好,今天天气很好' # 0 1 2 3 4 5 6 7 8 #18 # 19 print(info[1:3]) # print(lis[:18:-1]) # -1倒序,开头没有取值,所以默认从20往左取值,取到18的下标(19),但不顾尾,所以19不取 s = 'hahaha' s = '小黑' print(s) # print(s[0]) # print(s[::-1])
列表循环:
lists = ['张流量','李wifi','王路由器','牛网线',[1,2,3,4] ] for name in lists:if type(name)==list: #判断一个变量的类型for i in name:print(i)print(name)words='hello,world' for name in words:print(name) #for循环在循环可迭代对象的时候,每次循环的是里面的每一个元素
列表小练习:
(1)
# 校验用户名是否合法:# 输入账号 #input# 如果账号存在的,提示已经被注册,如果不存在的,就让他注册 all_users 【 】#不能为空 #strip()#用户名长度长度6-12之间 len()#最多输入3次 #循环 all_users = ['牛寒阳','梁盼','zhangwifi'] for i in range(3):username = input('请输入账号:').strip()if len(username)>5 and len(username)<13:if all_users.count(username)>0:print('这个名字太好啦,已经被注册啦!')else:print('名字不错,赶紧注册吧!')breakelse:print('用户名长度不合法!长度6-12之间!') else:print('失败次数过多')
(2)
stus=[['小明','未交'],['小白','已交'],['小紫','已交'],['小红','未交'],['小绿','未交'],['小黄','未交'],['小黑','已交']] pass_list = [ ] #所有已经交作业的同学 fail_list = [ ] #没有交作业同学的名字 for stu in stus:status = stu[1] #状态name = stu[0] #名字if status == '未交':fail_list.append(name)else:pass_list.append(name) print('未交作业的所有同学是 %s ,总共有 %s 个人'%(fail_list,len(fail_list))) print('已交作业的所有同学是 %s ,总共有 %s 个人'%(pass_list,len(pass_list)))
元组
元组也是一个list,他和list的区别是,元组里面元素无法修改
#如果元组里面 只有一个元素的话,那么你必须在这个元素后面加一个逗号 t = (1,2,4,5,6,7) words=(1,) words2=('abc',) print('t',type(t)) print('words',type(words)) print('words2',type(words2)) print(t.index(2)) #找到元素的下标 print(t.count(2)) #找到元素的个数
字典
字典的特性:
1、字典是无序的,它没有下标,用key来当索引,所以是无序的
2、字典的key必须是唯一的,因为它是通过key来进行索引的,所以key不能重复,天生就去重
除此之外:字典存取方便速度快
字典的操作:
增:
infos = {'name':'流量','sex':'男','addr':'火星','age':180} infos['phone']=13611087045 #增加一个key print(infos) infos.setdefault('小金库','2000w') print(infos) infos.setdefault('name','鹏妹妹') #如果key存在的话,不会修改原来key里面的值 print(infos) infos['name']='鹏妹妹' #如果key存在的话,会修改原来key对应的value print(infos) #结果 {'name': '流量', 'sex': '男', 'addr': '火星', 'age': 180, 'phone': 13611087045} {'name': '流量', 'sex': '男', 'addr': '火星', 'age': 180, 'phone': 13611087045, '小金库': '2000w'} {'name': '流量', 'sex': '男', 'addr': '火星', 'age': 180, 'phone': 13611087045, '小金库': '2000w'} {'name': '鹏妹妹', 'sex': '男', 'addr': '火星', 'age': 180, 'phone': 13611087045, '小金库': '2000w'}
删:
infos = {'name':'流量','sex':'男','addr':'火星','age':180,'phone':'13611087045'} infos.pop('name') #指定key来删除 print(infos) del infos['phone'] #指定key来删除 print(infos) infos.popitem() #随机删除一个key print(infos) infos.clear() #清空字典 print(infos) #结果 {'sex': '男', 'addr': '火星', 'age': 180, 'phone': '13611087045'} {'sex': '男', 'addr': '火星', 'age': 180} {'sex': '男', 'addr': '火星'} {}
改:
infos = {'name':'流量','sex':'男','addr':'火星','age':180,'phone':'13611087045'} infos['name']='张三' infos['sex']='性别不详' print(infos) #结果 {'name': '张三', 'sex': '性别不详', 'addr': '火星', 'age': 180, 'phone': '13611087045'}
示例:
people = {'田雨':{'age':18,'money':200000,'clothes':'100套','hzp':'n多','shoes':['nike','addis','lv','chanle']},'流量':{'金库':'2000w','house':['三环一套','4环2套'],'cars': {'japan':['普拉多','兰德酷路泽'],'usa':['林肯','凯迪拉克','福特'],'china':['五菱宏光','qq','红旗']}} } people['流量']['cars']['usa'].append('牧马人') people['田雨']['shoes'].append('匡威') print(people) people['田雨']['money'] = people['田雨']['money']+200 people['田雨']['money'] += 200 print(people)
查:
infos = {'name':'流量','sex':'男','addr':'火星','age':180,'phone':'13611087045'} print(infos.get('phone'))#取不到这个key的话,就是None print(infos.get('car'))#取不到这个key的话,就是None print(infos.get('phone',110))#如果取不到这个key的话,默认就是110 print(infos['phone'])#如果key不存在会报错 print('car' in infos)#判断car是否在这个字典中,返回True或者False #结果 13611087045 None 13611087045 13611087045 False
字典方法:
infos = {'name':'流量','sex':'男','addr':'火星','age':180,'phone':'13611087045'} print(infos.keys()) #获取到字典所有的key print(infos.values())#获取到字典所有的value print(infos.items()) # 获取字典所有的k-v infos2={'high':'180','sex':'女'} infos.update(infos2)#更新字典值,如果key存在的话,就更新,不存在的话就添加 print(infos) #结果 dict_keys(['name', 'sex', 'addr', 'age', 'phone']) dict_values(['流量', '男', '火星', 180, '13611087045']) dict_items([('name', '张流量'), ('sex', '男'), ('addr', '火星'), ('age', 180), ('phone', '13611087045')]) {'name': '张流量', 'sex': '女', 'addr': '火星', 'age': 180, 'phone': '13611087045', 'high': '180'}
字典循环:
infos = {'name':'流量','sex':'男','addr':'火星','age':180,'phone':'13611087045'} for k in infos:print(k,':',infos[k])#打印key和value的值,推荐使用这种方式,速度快 for k,v in infos.items():print(k,v)#打印key和value的值,这种方式不推荐,因为会把字典转换成列表,效率不高 #结果 name : 流量 sex : 男 addr : 火星 age : 180 phone : 13611087045 name 流量 sex 男 addr 火星 age 180 phone 13611087045
字典排序:
d={'b':4,'a':8,'c':3} print(d)#无序的{'c': 3, 'a': 8, 'b': 4} #字典是无序,直接对字典排序是不存在的 print(d.items())#dict_items([('c', 3), ('a', 8), ('b', 4)])dict_items([('a', 4), ('c', 3), ('b', 8)]) #根据字典的key排序 res=sorted(d.items(),key=lambda x:x[0])#[('a', 8), ('b', 4), ('c', 3)] print(res) #如果只对key 排序, res1=sorted(d.items())#[('a', 8), ('b', 4), ('c', 3)] print(res1) #根据字典的valuse res2=sorted(d.items(),key=lambda x:x[1])#[('c', 3), ('b', 4), ('a', 8)] print(res2) #sorted,循环调用
字典小练习:
关于注册账号,用户名不能重复、注册次数不能超过三次
users = {'niuhanyang':'123456','yangyafu':'456789', } #所有的账号和密码 # username # pwd # cpwd # print( '123456' in users ) #字典里面用in来判断的话,只是判断key是否存在 for i in range(3):username = input('账号:').strip()passwd = input('密码:').strip()cpasswd = input('密码确定:').strip()if username=='' or passwd=='' or cpasswd=='':print('用户名/密码不能为空')elif username in users:print('用户名已经被注册!')elif passwd!=cpasswd:print('两次输入的密码不一致')else:print('恭喜,注册成功!')# users.setdefault(username,passwd)users[username]=passwdbreak else:print('错误次数过多') print(users)
作业:
for i in range(5):passwd = input('passwd:').strip()if passwd!='':if len(passwd)>4 and len(passwd)<11:num_count = 0 # 数字出现的次数lower_count = 0 # 小写字母出现的次数upper_count = 0 # 大写字母出现的次数for p in passwd:if p.isdigit():num_count+=1elif p.islower():lower_count+=1elif p.isupper():upper_count+=1if num_count>0 and lower_count>0 and upper_count>0:print('密码校验通过')else:print('密码不合法')else:print('密码最少5位,最长10位')else:print('不能为空')
(2)
# homeworks ={'张流量': {'2018-03-31':"未交"},'李wifi':{'2018-03-31':"未交"} }choice = input('请输入你的选择,1查看作业,2录入:') if choice=='1':for k,v in homeworks.items():print('【%s】的作业情况是 %s'%(k,v)) elif choice=='2':for i in range(3):name = input('输入名字:').strip()time = input('输入日期:').strip()status = input('输入状态:').strip()if name =='' or time =='' or status=='':print('输入不能为空')else:if name in homeworks:tmp = {time:status}homeworks[name].update(tmp)print('更新学生作业信息成功')breakelse:homeworks[name]={time:status}print('成功')break print(homeworks)
转载于:https://www.cnblogs.com/hwtfamily/p/8640463.html
python之数据类型相关推荐
- Python的零基础超详细讲解(第四天)-Python的数据类型
Python 基本数据类型 Python 中的变量不需要声明.每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建. 在 Python 中,变量就是变量,它没有类型,我们所说的"类型&q ...
- python的数据类型和变量
python的数据类型和变量 数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种 ...
- python核心数据类型_Python核心数据类型-列表
Python核心数据类型-列表 关于列表的重要属性 列表是任意对象的有序集合,列表中可以包含任何种类的对象,数字 字符串 或者是其他列表 列表可以通过偏移来读取其中的元素,也可以通过分片读取列表中的某 ...
- python判断数据类型type_Python 判断数据类型有type和isinstance
Python 判断数据类型有type和isinstance 基本区别在于: type():不会认为子类是父类 isinstance():会认为子类是父类类型 执行结果如下: 用isinstance判断 ...
- Python基础数据类型之set集合
Python基础数据类型之set集合 一.set数据类型介绍 二.set集合演示 三.set集合中hash介绍 1.哈希定义 2.数据类型的hash和不可hash 3.set中hash示例 四.set ...
- Python基础数据类型之字符串(二)
Python基础数据类型之字符串(二) 一.字符串的常规操作 二.字符串的大小写转换 1.首字母大写 2. 每个单词首字母大写 3.大写转化为小写 4.所有字母变成大写字母 二.验证码忽略大小写 三. ...
- Python基础数据类型之字符串(一)
Python基础数据类型之字符串(一) 一.字符串格式化 1.字符串占位符 2.字符串格式化操作 二.f-string格式化 三.字符串的索引 四.字符串的切片 1.常规切片使用方法 3.步长的介绍 ...
- 好好学python·基本数据类型
好好学Python的第一天 基本用法 注释 输出 变量 命名规范 变量的定义方式 python的数据类型 数据类型分类 字符串类型 数字类型 List列表类型 tuple 元组类型的定义 Dict字典 ...
- python元组类型_什么是python元组数据类型
什么是python元组数据类型 发布时间:2020-08-25 11:46:29 来源:亿速云 阅读:68 这篇文章运用简单易懂的例子给大家介绍什么是python元组数据类型,代码非常详细,感兴趣的小 ...
- python核心数据类型_Python核心数据类型—元组
Python核心数据类型-元组 Python元组与列表类似,但是元组属于不可变类型 创建元组 a = () #创建空元组 a = (1, 2, 3) #创建一个元组 a = [1, 2, 3] b = ...
最新文章
- hive sql操作
- Android Studio:missing feature Watch
- GARFIELD@09-21-2004
- java提高篇(七)-----关键字static
- 疯子的算法总结(九) 图论中的矩阵应用 Part 2 矩阵树 基尔霍夫矩阵定理 生成树计数 Matrix-Tree
- const 和readonly
- matlab中noisbloc,基于小波变换的微弱信号检测技术的研究.doc
- XML DOM学习笔记(JS)
- DLL load failed: 找不到指定模块\Failed to load the native TensorFlow runtime解决方法
- 详解iMazing保障数据安全的设置
- java poi 自动行高_Java POI Excel 行高自适应
- github android官方客户端,github安卓手机版APK下载-github Android客户端下载v2.0 官方版-腾牛安卓网...
- 俄亥俄州立大学计算机硕士申请,俄亥俄州立大学计算机科学与工程理学硕士研究生申请要求及申请材料要求清单...
- java多态理解通俗,说说 Java 多态那些事儿~
- 大数据是什么,大数据的主要特点是什么?
- 小提琴统计图_小提琴图解读 统计学
- java连缀怎样写_【20200625】连缀例话:-写文章的7项好处
- 如何有效的对云专线进行测速
- KBEngine warring项目源码阅读(一) 项目简介和注册
- 可燃气体浓度多少合格_动火指标:动火作业气体检测浓度多少为合格?