浅谈python数据类型及其操作


Posted in Python onMay 25, 2021

一、 Number 数字

浅谈python数据类型及其操作

1.内置函数:需要导入math
2.随机数函数:需要导入random 模块
3.三角函数:需要导入math模块
4.数学常量:需要导入math模块

#1.数据函数的使用
#==========================
#内置函数
print(abs(-10))   #10绝对值
print(round(4.56789,2)) #4.57 使用四舍五入的方式保留小数点后两位

a = [10,30,20,80,50]
print(max(a))   #80 最大值
print(min(a))   #10 最小值


#需要导入math
import math
print(math.ceil(2.3))      #3 进一取整
print(math.floor(2.99999))  #2 舍去取整

10
4.57
80
10
3

#2.随机数函数
#=============================
#需要导入random 模块
import random
print(random.random())  #随机一个0~1的小数

print(random.choice(['aaa','bbb','cccc']))   #随机获取一个值

#指定范围的随机
print(random.randrange(10))  #随机0~9的一个值
print(random.randrange(4,10))  #随机4~9的一个值
print(random.randrange(0,10,2))  #随机4~9的一个值

b = [1,2,3,4,5,6]
random.shuffle(b)  #将容器内的值顺序打乱
print(b)

0.6045140519996484
cccc
3
4
0
[1, 3, 4, 6, 5, 2]

#3.三角函数
#需要导入math模块
print(math.sin(90))
print(math.cos(0))

0.8939966636005579
1.0

#4.数学常量
#需要导入math模块
print(math.pi) #圆周率
print(math.e)  #自然常数

3.141592653589793
2.718281828459045

二、String 字符串

浅谈python数据类型及其操作

# 1.字符流(str 字符串) <=> 字节流(bytes 字符串、二进制)之间的转换

#字符流转换为字节流
str = "zhangsan"
b1 = str.encode(encoding="utf-8")
print(b1)

b2 = bytes(str,encoding="utf+8")     #结果中,只要是b开头的都叫字节流
print(b2)

#字节流转成字符流
print(b1.decode(encoding="utf-8"))  #由字节转成字符
print(bytes.decode(b2,encoding="utf-8"))

b'zhangsan'
b'zhangsan'
zhangsan
zhangsan

#2.转义符的使用
print("ab\\cde\n\rfg\thijk\"lmnopq")

浅谈python数据类型及其操作

#3. 字符串的格式化:format  %
print("a={};b={}".format(10,20))  #用括号作占位符。
print("a={1};b={0}".format(10,20))  # 指定索引号代表第几参数
print("a={0};b={0}".format(10))

print("name={name:10};age={age}".format(age=20,name="lisi"))   #name:10 表示占10个宽度。
print("name={name:<10};age={age}".format(age=20,name="lisi"))   #小于号:靠左边;大于号:靠右边。
print("{:.2f}".format(5.6789))   # .2f表示保留小数后两位

name="zhangsan"
print(f"name={name}")

浅谈python数据类型及其操作

#4.字符串的内建函数
#==============================
name = "ZhangSan"
print(name,name.upper(),name.lower())     #字符串的大小写
print("字符串长度:",len(name))   
print("统计字符串中an出现的次数:",name.count('an'))
print("字符串替换: ",name.replace("San","wuji"))
print("10:20:30:40".split(":"))  #字符串拆分(列表)

浅谈python数据类型及其操作

# 字符串查找
str = "zhangsanfang"
print(str.find("an"))   #从头开始查找 ,找不到返回-1
print(str.rfind("an"))   #从末尾开始查找 ,找不到返回-1
print(str.index("an"))  #从头查找,找不到报错

print(" aaa ".strip())   #去除字符串两侧多余空格(或指定字符)
print(" aaa ".lstrip())   #去除字符串左侧多余空格(或指定字符)
print(" aaa ".rstrip())   #去除字符串右侧多余空格(或指定字符)

浅谈python数据类型及其操作
浅谈python数据类型及其操作
浅谈python数据类型及其操作
浅谈python数据类型及其操作
浅谈python数据类型及其操作
浅谈python数据类型及其操作
浅谈python数据类型及其操作

三、List 列表

浅谈python数据类型及其操作

# 1. 列表的定义
list1 = [] #定义一个空列表
list2 = list() #定义一个空列表
list3 = ['python','java','php',10,20]  #定义列表
list4 = [1,2,3,4,5,6,7]  #定义列表

print(list4)

list4[3] = 400  #修改
print(list4)

del list4[5]   #删除
print(list4)

[1, 2, 3, 4, 5, 6, 7]
[1, 2, 3, 400, 5, 6, 7]
[1, 2, 3, 400, 5, 7]
10 20 30 40 50
10 20 30 40 50

# 2.列表的遍历
a = [10,20,30,40,50]

#使用for ... in 遍历
for i in a:
    print(i,end= " ")
print()

#使用while循环遍历
i = 0
while i <len(a):
    print(a[i],end= " ")
    i += 1
print()

10 20 30 40 50
10 20 30 40 50

#遍历等长的二阶列表
b = [["aa","AAA"],["bb","BBB"],["cc","CCC"]]
for v1,v2 in b:
    print(v1,v2)
      
#遍历不规则二阶列表
c = [[10,20],[30,40,50],[60,70],[80,90,100,110,120]]
for v in c:
    for i in v:
        print(i,end=" ")
    print()

浅谈python数据类型及其操作

# 4. 列表的方法 (非常重要)
a = ['zhangsan','lisi']
a.append('wangwu')                #在列表的尾部新增值
a.extend(['zhaoliu','xiaolin'])   #在列表尾部添加多个值
a.insert(3,"qqq")                 #在指定位置插入一个值
print(a)

b = [1,2,3,3,2,1,4,5]
print(b.count(1))                 #统计1在列表中出现的次数
print(b.index(5))                 #5出现的位置

print(a.pop())                    #最后一个值
a.remove("zhangsan")              #删除指定值
print(a)

a.reverse()                      #颠倒顺序
print(a)

b.sort()   #升序
print(b)

b.clear()  #清空
print(b)

浅谈python数据类型及其操作

a = [10,20,30]
b = a
c = a.copy()         #浅复制:复制一个列表
print(id(a),id(b),id(c))
a[1] = 200
print(a)
print(b)
print(c)

浅谈python数据类型及其操作

浅谈python数据类型及其操作
浅谈python数据类型及其操作
浅谈python数据类型及其操作

四、Tuple 元组

浅谈python数据类型及其操作

#========================================
#1. 定义元组的方式
tup0 = ()    #定义一个空元组 或者变量 = tuple() (没有意义,因为元组不能被修改)
tup1 = ('Google','Python',1997,2000)
tup2 = (1,2,3,4,5)
tup3 = "a","b","c","d"

#输出元组:
print("tup1[0]: ",tup1[0])
print("tup2[1:5]:",tup2[1:5])

#注意下面这种定义下不加逗号,类型为整型
tup4 = (50)
print(type(tup4))

#以下修改元组元素操作是非法的。
#tup1[0] = 100

#元组中的元素值是不允许删除的,但可使用del语句来删除整个元组
del tup0;

tup1[0]: Google
tup2[1:5]: (2, 3, 4, 5)
<class ‘int'>

#2. 元组的遍历
#===========================
a = (10,20,30,40,50)

#使用for ... in 遍历
for i in a:
    print(i)
 
# 使用while遍历
i = 0
while i<len(a):
    print(a[i])
    i += 1

10
20
30
40
50
10
20
30
40
50
10 20
30 40
50 60

#遍历等长二级元组
b = ((10,20),(30,40),(50,60))
for v1,v2 in b:
    print(v1,v2)
    
#遍历不等长二级元组
b = ((10,20),(30,40,50,60),(70,80,90))
for v in b:
    for i in v:
        print(i,end=" ")
    print()

10 20
30 40
50 60
10 20
30 40 50 60
70 80 90

# 4. 元组的操作符:
#====================================
a = (1,2,3)
b = (4,5,6,7)
print(len(a))
print(a+b)
print(a*2)
print(6 in b)  #判断一个值是否在一个元组中

#获取
print(b[2]) 
print(b[-2])
print(b[1:])
print(b[1:3])

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

浅谈python数据类型及其操作

浅谈python数据类型及其操作

五、Sets集合

浅谈python数据类型及其操作

# 1.集合的基础操作
#====================================
#定义集合的方式:
#集合的定义
set1 = set()  #定义一个空的集合
set2 = {1,2,3}

#增加一个元素
set1.add(5)

#增加多个:参数可以是列表或元组
set1.update([5,6,7,8])

#删除某个值(参数为元素值,没有会报错)
set2.remove(1)
set2.discard(50)  #删除不存在的值不会报错

#查:无法通过下标索引
#改:不可变类型无法修改元素

#清空集合
set2.clear()

a = {10,20,30}
b = {20,50}
print(a - b)    #a和b的差集
print(a | b)    #a和b的并集
print(a & b)    #a和b的交集
print(a ^ b)    #a和b中不同时存在的元素

# 2. 集合的遍历
#======================================
a = {10,20,30,40,50}
#使用for ... in 遍历
for i in a:
    print(i)
    
#注:没有while遍历,因为没有排序,
    
#遍历等长二级集合
b = {(10,20),{30,40},(50,60)}
for v1,v2 in b:
    print(v1,v2)

浅谈python数据类型及其操作

# 4. 集合的操作符
a = {1,2,3}
print(len(a))  #3 集合长度
print(6 in a)  #判断一个值是否在一个集合中

3
False

浅谈python数据类型及其操作

六、Dictionary 字典 (非常重要)

浅谈python数据类型及其操作

#字典是另一种可变容器模型,且可存储任意类型对象

# 1. 字典的基础操作:
#==============================
#定义字典的方式:
#字典的定义
d0 = {}  #或dict()   #定义一个空的字典
d1 = {'name':'python','age':17,'class':'first'}

#输出子字典中的信息
print("d1['name']: ",d1['name'])  #python
print("d1['age']: ",d1['age'])    #17

#输出错误信息:KeyError  
# print("d1['alice']:",d1['alice'])

#修改和添加内容     
d1['age'] = 18;           #key存在则更新age
d1['school'] = '云课堂'   # 不存在则添加信息
print(d1)

#删除信息
del d1['name']   #删除键'name'一个元素值
d1.clear()       #清空字典
del d1

浅谈python数据类型及其操作

#2. 字典的遍历
#===================================
d1 = {'name':'python','age':17,'class':'first'}
#使用for...in 遍历(默认遍历键)
for k in d1:
    print(k,"=>",d1[k])

#遍历键和值(使用items())
for k,v in d1.items():
    print(k,"===>",v)

浅谈python数据类型及其操作

# 3. 推倒式的使用
#================================
a = [1,2,3,4,5,6,7,8]
#遍历列表a中的值i ,并判断是否是偶数,并形成新的列表保留下来
b = [i for i in a if i%2==0]   #for i in a ,循环a列表,拿这个列表的值; if i%2==0 这个值若能被2整除,拿出来; 前面的i表示新生成一个列表
print(b)

[2, 4, 6, 8]

stu = {'name':'zhangsan','age':20,'sex':'man'}
#将当前stu字典遍历形成一个新的字典,去掉了age
s1 = {k:v for k,v in stu.items()}      #for k ,v in stu.items()遍历字典;k:v形成新的字典;if k != "age" 作判断
s2 = {k:v for k,v in stu.items() if k !="age"}      #for k ,v in stu.items()遍历字典;k:v形成新的字典;if k != "age" 作判断

print(s1)
print(s2)

浅谈python数据类型及其操作

# 字典的操作方法
#=================================
stu = {'name':'zhangsan','age':20,'sex':'man'}
print(stu.items())  #以列表方式返回当前字典的键值对
print(stu.keys())
print(stu.values())   

print(stu.get("name"))    #
print(stu.get("iphone",None)) #获取指定key的值,若无返回None

print(stu.pop('age'))   #弹出指定key的值,表示字典中没有了此内容
print(stu)

print(stu.popitem())  #随机弹出一对信息(移除了),默认最后一个。
print(stu)

stu.clear()

浅谈python数据类型及其操作

#容器的拷贝(浅拷贝和深度拷贝)
#浅拷贝
a = {"name":"zhanngsan","data":[10,20,30]}
b = a.copy()   #浅拷贝
a["name"] = 'lisi'
a["data"][1] = 200
print(a)
print(b)

浅谈python数据类型及其操作

#导入一个深度拷贝模块
import copy
a = {"name":"zhanngsan","data":[10,20,30]}
b = copy.deepcopy(a)   #深度拷贝
a["name"] = 'lisi'
a["data"][1] = 200
print(a)
print(b)

浅谈python数据类型及其操作
浅谈python数据类型及其操作

到此这篇关于浅谈python数据类型及其操作的文章就介绍到这了,更多相关python数据类型内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python实现的彩票机选器实例
Jun 17 Python
Python模拟百度登录实例详解
Jan 20 Python
python定时利用QQ邮件发送天气预报的实例
Nov 17 Python
python如何创建TCP服务端和客户端
Aug 26 Python
python3.6利用pyinstall打包py为exe的操作实例
Oct 31 Python
Python第三方库h5py_读取mat文件并显示值的方法
Feb 08 Python
谈一谈基于python的面向对象编程基础
May 21 Python
int在python中的含义以及用法
Jun 27 Python
详解pycharm的python包opencv(cv2)无代码提示问题的解决
Jan 29 Python
python实现简单的学生管理系统
Feb 22 Python
Python中re模块的元字符使用小结
Apr 07 Python
python解析照片拍摄时间进行图片整理
Jul 23 Python
对Keras自带Loss Function的深入研究
May 25 #Python
pytorch中的model=model.to(device)使用说明
May 24 #Python
解决pytorch-gpu 安装失败的记录
May 24 #Python
如何解决.cuda()加载用时很长的问题
一劳永逸彻底解决pip install慢的办法
May 24 #Python
Django实现翻页的示例代码
May 24 #Python
pytorch--之halfTensor的使用详解
You might like
计数器详细设计
2006/10/09 PHP
php进程(线程)通信基础之System V共享内存简单实例分析
2019/11/09 PHP
ThinkPhP+Apache+PHPstorm整合框架流程图解
2020/11/23 PHP
Jquery iframe内部出滚动条
2010/02/11 Javascript
js内存泄露的几种情况详细探讨
2013/05/31 Javascript
Blocksit插件实现瀑布流数据无限( 异步)加载
2014/06/20 Javascript
jquery实现简单实用的打分程序实例
2015/07/23 Javascript
原生JavaScript编写canvas版的连连看游戏
2016/05/29 Javascript
node.js 发布订阅模式的实例
2017/09/10 Javascript
React为 Vue 引入容器组件和展示组件的教程详解
2018/05/03 Javascript
vue路由插件之vue-route
2019/06/13 Javascript
详解elementui之el-image-viewer(图片查看器)
2019/08/30 Javascript
JavaScript组合设计模式--改进引入案例分析
2020/05/23 Javascript
js实现滑动滑块验证登录
2020/07/24 Javascript
Vant 中的Toast设置全局的延迟时间操作
2020/11/04 Javascript
在Python程序中操作MySQL的基本方法
2015/07/29 Python
Python正则表达式匹配中文用法示例
2017/01/17 Python
python中logging库的使用总结
2017/10/18 Python
python学习之hook钩子的原理和使用
2018/10/25 Python
找Python安装目录,设置环境路径以及在命令行运行python脚本实例
2020/03/09 Python
pycharm激活码快速激活及使用步骤
2020/03/12 Python
150行python代码实现贪吃蛇游戏
2020/04/24 Python
Python读取Excel数据并生成图表过程解析
2020/06/18 Python
Python 多线程C段扫描、检测 Ping扫描脚本的实现
2020/09/03 Python
Python+unittest+requests 接口自动化测试框架搭建教程
2020/10/09 Python
美国南部最大的家族百货公司:Belk
2017/01/30 全球购物
英国最大的海报商店:GB Posters
2018/03/20 全球购物
比利时香水网上商店:NOTINO
2018/03/28 全球购物
iPad和Surface Pro蓝牙键盘:Brydge
2018/11/10 全球购物
英文版餐饮业求职信
2013/10/18 职场文书
大专生简历的自我评价
2013/11/26 职场文书
个人简历中自我评价
2014/02/11 职场文书
导师就业推荐信范文
2014/05/22 职场文书
普通党员个人整改措施
2014/10/27 职场文书
2015年国庆节广播稿
2015/08/19 职场文书
MyBatis核心源码深度剖析SQL语句执行过程
2022/05/20 Java/Android