pyhon的数据类型
1.数字
整型和浮点型
在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
一般是用到语法是int() 将数据类型强制转换为整型
2.布尔
真或假
1或0
3.字符串
一般常用的功能实现:
- 移除空白
![](/assets/blank.gif)
![](/assets/blank.gif)
print("\n i have a dream".strip())
View Code
- 分割
![](/assets/blank.gif)
![](/assets/blank.gif)
name = "i have a dream"print(name.split())
View Code
- 长度
![](/assets/blank.gif)
![](/assets/blank.gif)
name = "i have a dream"print(len(name))
View Code
- 索引
![](/assets/blank.gif)
![](/assets/blank.gif)
name = "i have a dream"print(name.find("i"))
View Code
- 切片
![](/assets/blank.gif)
![](/assets/blank.gif)
name = "i have a dream"print(name[name.find("have"):])
View Code
4.列表和元组
定义列表
list_1 = [1,2,3,4]
基本操作:
- 索引
![](/assets/blank.gif)
![](/assets/blank.gif)
list_1 = [1,2,3,4]list_1.index(2)#取列表中的数据2的下标
View Code
- 插入
![](/assets/blank.gif)
![](/assets/blank.gif)
list_1 = [1,2,3,4]list_1.insert(2,'new')#在索引下标为2的前面插入数据
View Code
- 追加
![](/assets/blank.gif)
![](/assets/blank.gif)
list_1 = [1,2,3,4]list_1.append(5)
View Code
- 删除
![](/assets/blank.gif)
![](/assets/blank.gif)
list_1 = [1,2,3,4]del list_1[2] #删除下标为2的数据 list_1.pop()#删除最后一个数据 list_1.remove(2)#删除指定数据
View Code
- 长度
![](/assets/blank.gif)
![](/assets/blank.gif)
list_1 = [1,2,3,4]print(len(list_1))
View Code
- 切片
![](/assets/blank.gif)
![](/assets/blank.gif)
list_1 = [1,2,3,4] print(list_1[1:3]) #取下标1至下标3之间的数字,包括1,不包括3print(list_1[1:-1]) #取下标1至下标-1之间的数字,包括1,不包括-1print(list_1[0:3])#如果是从头开始取print(list_1[:3])#如果是从头开始取,0可以忽略print(list_1[3:])#如果想取最后一个,必须不能写-1,只能这么写print(list_1[1::2]) #后面的2是代表,每隔一个元素,就取一个
View Code
- 拷贝(详见深浅拷贝)
- 排序&翻转
![](/assets/blank.gif)
![](/assets/blank.gif)
list_1 = [1,8,6,3,7,9]list_1.sort() #无序到有序 print(list_1)list_1.reverse()#将有序倒序 print(list_1)
View Code
定义元组
yuan = (1,2,3,4)
元组基本和列表相同都是储存一串数据,但是元组一经创建就不能再改变又叫只读列表。所以元组只存在两个方法,count()和index()。
字典
字典的数据类型是key - value的,而且key的值时唯一的,而且字典是无序的。
定义字典
player = {"西甲":"皇马","英超":"曼连","德甲":"拜仁"}
基本操作:
- 增加
![](/assets/blank.gif)
![](/assets/blank.gif)
player["意甲"] = "米兰"
View Code
- 修改
![](/assets/blank.gif)
![](/assets/blank.gif)
player["英超"] = "利物浦"
View Code
- 删除
![](/assets/blank.gif)
![](/assets/blank.gif)
piayer.pop("西甲")del piayer["英超"]player.popitem() #随机删除
View Code
- 查找
![](/assets/blank.gif)
![](/assets/blank.gif)
player.get("西甲")#获取 plaer["西甲"]#同上,但是当key值不存在时第一种方法不会报错
View Code
- 多级嵌套
![](/assets/blank.gif)
![](/assets/blank.gif)
player = {"西甲":{"皇马":["克里斯蒂亚.罗纳尔多","拉雷斯.贝尔","拉莫斯"],"巴萨":["莱昂.梅西","内马尔","苏亚雷斯"],"马竞":["托雷斯","格里兹曼"]},"英超":{"曼连":["维恩.鲁尼","伊布拉希莫维奇","博格巴"],"阿森纳":["桑切斯","拉姆塞","厄齐尔"],"曼城":["阿奎罗","斯特林","图雷"]},"德甲":{"拜仁":["里贝里","罗本","拉姆"],"多特":["罗伊斯","格策","香川真司"]}}
球员名单
- 循环
for key in player:print(key,player[key])
练习
程序: 三级菜单
要求:
- 打印联赛、球队、球员三级菜单
- 可返回上一级
- 可随时退出程序
![](/assets/blank.gif)
![](/assets/blank.gif)
import rosters,sys #调用sys模块 并从rosters文件中调用变量 T = 1 #设置一个全局变量来保证每次从循环跳出后能返回上一级的循环while True:print("欢迎来到2016足球经理 在这里你将选择你中意的足球明星加入你的阵中!")for i in rosters.player: #显示联赛名单 供用户选择print(i)league = input("选择联赛:")if league in rosters.player:if T == 1:for tream in rosters.player[league]: #显示队伍的名单print("****%s***"%tream)tream = input("b:返回上一级 \nq:退出游戏!\n选择球队: ")if tream == "b":breakif tream == "q":sys.exit("退出游戏!") #退出整个系统if tream in rosters.player[league]:if T == 1:for players in rosters.player[league][tream]: #显示球员的名单print("****%s***" % players)players = input("b:返回上一级 \nq:退出游戏:\n选择球员:")if players == "b":breakif players == "q":sys.exit("退出游戏!")if players in rosters.player[league][tream]:f = open("roster","a",encoding="utf-8") #打开文件将选择的球员名字写入到文件中 f.write(players)f.close() #关闭文件print("球员%s已经加入你的阵容" %players)choice = input("你是否要继续 b:返回上一级 q:退出游戏!")if choice == "b":passif choice == "q":sys.exit("退出游戏!")
足球经理
集合
集合特性:
1、不同元素组成
2、无序
3、集合中元素必须是不可变类型
它的主要作用如下:
- 去重,把一个列表变成集合,就自动去重了
- 关系测试,测试两组数据之前的交集、差集、并集等关系
基本操作:
- 去重
![](/assets/blank.gif)
![](/assets/blank.gif)
a = {1,2,3,4,4,5,5,6}print(a)
View Code
- 添加
![](/assets/blank.gif)
![](/assets/blank.gif)
a = {1,2,3,4,4,5,5,6}a.add(7)#每次只能添加一个值且添加的值print(a)
View Code
- 删除
![](/assets/blank.gif)
![](/assets/blank.gif)
a = {1,2,3,4,4,5,5,6}a.remove(8)#指定删除,当删除的值不存在时会报错 a.discard(8)#指定删除,当删除的值不存在时不会报错 a.pop()#随机删除print(a)
View Code
- 清空
![](/assets/blank.gif)
![](/assets/blank.gif)
a = {1,2,3,4,4,5,5,6}a.clear()print(a)
View Code
集合支持一系列标准操作,包括并集、交集、差集和对称差集。
a = t | s # t 和 s的并集 b = t & s # t 和 s的交集 c = t – s # 求差集(项在t中,但不在s中) d = t ^ s # 对称差集(项在t或s中,但不会同时出现在二者中)
基本操作:
- 交集
![](/assets/blank.gif)
![](/assets/blank.gif)
a = {1,2,3,4} b = {3,4,5,6}print(a.intersection(b)) #取出两个集合中相同的值等同于 a&b
View Code
- 并集
![](/assets/blank.gif)
![](/assets/blank.gif)
a = {1,2,3,4} b = {3,4,5,6}print(a.union(b)) #相同于 a|b
View Code
- 差集
![](/assets/blank.gif)
![](/assets/blank.gif)
a = {1,2,3,4} b = {3,4,5,6}print(a.difference(b)) #这是取a中不同于b中的值,相同于 a-b
View Code
- 对称差集
![](/assets/blank.gif)
![](/assets/blank.gif)
a = {1,2,3,4} b = {3,4,5,6}print(a.symmetric_difference(b)) #去掉两个都有的值,把对方没有的值取出
View Code
- 子集、父集
![](/assets/blank.gif)
![](/assets/blank.gif)
a = {1,2,3,4} b = {3,4,5,6} c = {2,3}print(c.issubset(a)) #判断c是否是a的子集 print(a.issuperset(c)) #判断a是否是c的父集
View Code
- 更新
![](/assets/blank.gif)
![](/assets/blank.gif)
a = {1,2,3,4} b = {3,4,5,6}a.update(b) print(a) #可更新多个值
View Code
- 不可变集合
元素一经创建,不可增加、删除和修改
a = frozenset({1,2,3,4}) b = {3,4,5,6}a.update(b) print(a) #a是不可变的集合所以更新值会报错 正确的输出应该是frozenset({1,2,3,4})
frozenset和set混合运算时,返回的值以左边的操作变量为准。
frozenset(a) | set(b) 的返回值就是frozenset,set(a) | frozenset(b) 的返回值就是set
一些小小总结
可变不可变:
1、可变:列表,字典
2、不可变: 字符串,数字,元组
访问顺序:
1、直接访问:数字
2、顺序访问:字符串,列表,元组
3、映射: 字典
转载于:https://www.cnblogs.com/lixiaoliuer/p/6189638.html
pyhon的数据类型相关推荐
- 2.掌握Python基本数据类型,从python陌路人到熟人!
有可能会迟到 但尽量不缺席 # -*- coding:utf-8 -*- # @Time :2019/7/19 16:30 # @Author :ITester # @Email :103688158 ...
- 在下列数据类型中、python不支持的是_在下列数据类型中, Python不支持的是_学小易找答案...
[填空题]如果想测试变量的类型,可以使用 __________关键字 来实现. [单选题]如在类中存在有_value,则表示它是 [填空题]当运行测试输入6789时,写出下面 Python程序的执行结 ...
- python复数字典_掌握Python基本数据类型,从python陌路人到熟人!
# -*- coding:utf-8 -*- # @Time :2019/7/19 16:30 # @Author :ITester # @Email :1036881587@qq.com # @Fi ...
- Python数据类型,字符编码,文件处理
一.字符串 #需要掌握的操作 #1.strip,lstrip,rstrip #2.lower,upper #3.startswith,endswith #4.format的三种玩法 #5.split, ...
- 编程流量老师最近几届pyhon编程与学员赚钱技术绝活纯提炼代码分享
编程流量老师最近几届pyhon编程与学员赚钱技术绝活纯提炼代码分享:[文章纯属鄙人原创,请勿转载] ++++++++++第一部分是代码,第二部分是绝活,绝活在最底部+++++++++++ -- cod ...
- Python极简教程之二:数据类型
基础类型 数字(Numbers) Python 支持五种基本数字类型,分别为int(有符号整数).long(长整数) .bool(布尔值).float(浮点数).complex(复数). 字符串(St ...
- Postman使用Date数据类型,Postman发送Date类型数据,Postman模拟前端调用
Postman使用Date数据类型: 在form-data数据类型下,使用 2021/7/7 11:11:00 (yyyy/MM/dd HH:mm:ss) 的数据格式即可 如下: 在json数据格式中 ...
- 大数据中用到的新的数据类型bigint、decimal、smallint、tinyint
在对比oracle数据库和大数据库的时候,发现了几个用以存放数字的新的类型bigint.decimal.smallint.tinyint,为了对比之间的不同,我进行了统计 bigint 可以精确的表示 ...
- NumPy — 创建全零、全1、空、arange 数组,array 对象类型,astype 转换数据类型,数组和标量以及数组之间的运算,NumPy 数组共享内存
NumPy 简介 一个用 python 实现的科学计算包.包括: 1.一个强大的 N 维数组对象 Array : 2.比较成熟的(广播)函数库: 3.用于整合 C/C++ 和 Fortran 代码的工 ...
最新文章
- c语言程序如何实现递减,写一个程序让非递减变成非递增,用C语言。一个程序用两个函数...
- CentOS7使用阿里云镜像安装Mongodb
- aref无效 lisp_aref无效 lisp_Common Lisp专题4:数组
- linux启动mysql1820_linux 系统下MySQL5.7重置root密码(完整版,含ERROR 1820 (HY000)解决方案)...
- 使用蓝图构建Flask项目目录
- python列表初始化为1_python初始化list列表(1维、2维)
- python基础(set)补充
- 掘金小册8折优惠:掌握这些技术,轻松拿offer
- 【LabView小剧场】用LabView做个计算器
- kindle 新手入门
- visualstudio 2017 工具栏隐藏解决办法
- 大学生搜题软件哪个好用?2020搜题软件排行榜
- 微信小程序 模拟支付宝账单的个人记账小程序
- VTK笔记——医学图像等值面提取(Marching Cubes)
- java_vinson_04:String类浅识
- 最大化偏差问题与Double Q-Learning(一)——最大化偏差问题介绍
- Baklib-专业的在线产品手册制作平台
- 中国移动光猫H2-3拨号模式和bridge(桥)模式
- crmeb知识付费系统添加直播
- 自己的电脑怎样重装系统