当前位置:   article > 正文

Python基础系列:(二)Python六大数据类型_python数据分为数字型和非数字型,集合属于哪类

python数据分为数字型和非数字型,集合属于哪类


前言

Python系列文章主要是记录自己学习成果及知识输出整合,提供一个温故而知新的场所。

Python六大类型包含:String(字符串)、List(列表)、Set(集合)、Number(数字)、Tuple(元组)、Dict(字典)。

其中可变数据类型:List(列表)、Set(集合)、Dict(字典)
不可变数据类型:Number(数字)、Tuple(元组)、String(字符串)
可变和不可变数据类型详解见总结
下面会详细介绍数据类型的语法。


一、Python常见数据类型-String(字符串)类型

定义:Python中的字符串用单引号/双引号/三个单/双引号括起来

1.Python字符串支持截取(切片)

  • 切片语法格式:变量名[起始索引位置:截止索引位置]
  • 起始索引位置、截止索引位置是包前不包后的关系,也就是截取的字符串包含起始索引位置那个字符,但不包含截止索引位置那个字符,例:st = ‘beautiful’ 就表示一个字符串。
  • 假设需截取字符串中的‘beau’,索引是从0开始算,0表示第一个字符,那么代码示例为:
# 不包含索引为4的字符串也就是第五位‘t’
st[0:4]
  • 1
  • 2

写起始位置,不写截止位置:默认获取剩余全部内容

st[2:]
-----------------------------------
# 输出结果:autiful
  • 1
  • 2
  • 3

写截止位置,不写起始位置:从头开始截取

st[:3]
-----------------------------------
# 输出结果:bea
  • 1
  • 2
  • 3

起始、截止都不写:获取全部序列内容

st[:]
-----------------------------------
# 输出结果:beautiful
  • 1
  • 2
  • 3

负数:表示从右往左截取,右边第一位就是-1

st[-5:-1]
-----------------------------------
# 输出结果:tifu
  • 1
  • 2
  • 3

如果截止下标大于序列的最大下标值,默认依然是取序列全部内容

st[0:20]
-----------------------------------
# 输出结果:beautiful
  • 1
  • 2
  • 3

2.字符串运算符

加号(+)实现字符串的拼接:‘a’+‘b’ 输出结果为:ab
星号(*)实现字符串的复制: ‘a’*2 输出结果为:aa

3.字符串格式化输出

print(“%数据类型” % 变量),代码示例如下:

address = '某某省'
year = 15
print("他在%s,工作了%d年" %(address, year))
-----------------------------------------------------------------
输出结果为:他在某某省,工作了15
  • 1
  • 2
  • 3
  • 4
  • 5

以上格式化输出用起来还是有些麻烦,Python3.9及以上版本可支持更简单的格式化输出格式:在引号前加个’f‘,用大括号把变量括起来

print(f'他在{address},工作了{year}年')
-----------------------------------------------------------------
输出结果跟%格式化输出结果一致
  • 1
  • 2
  • 3

4.字符串可用函数

支持的函数释义
capitalize()将字符串第一个字符大写
title()将所有单词的首字母大写
lower()将整个字符串都小写
upper()将整个字符串都大写
replace(old,[,new][,count])将字符串中的old子串替换为new,替换count次,默认全部替换
split(sep)将字符串用给定的标准分割,并且以列表形式返回分割后的列表
join()按照指定分割符连接字符串各个元素
find(‘sample’,起始位置,结束位置)/index()find,如果未查找到结果,返回-1;index如果未查找到结果,报错

以split() 函数示例:

st = 'bea-uti-f-ul'
v = st.split('-')
print(v)
-----------------------------
输出结果为:['bea', 'uti', 'f', 'ul']
  • 1
  • 2
  • 3
  • 4
  • 5

二、Python常见数据类型-List(列表)类型

1.列表:list定义

使用一对[]包起来的数据集合,元素可以是任意类型的数据
变量名 = [值1,值2,….]
获取值可以通过下标
变量名[下标]:下标从0开始算

2.列表也支持截取(切片)

具体使用方法可参考字符串的切片方式

3.列表的函数

支持的函数释义
L.append(var)追加元素,var为需要追加到列表里面的值
L.insert(index,var)在指定位置插入元素,如果下标大于列表下标最大值,实现追加的功能,index为想要指定的下标位置数字,var为想要插入的值
L.pop(index)返回最后一个元素,并从list中删除之,入参必须是下标,index表示下标
L.remove(var)删除第一次出现的该元素,var为指定要删除的值
L.count(var)该元素在列表中出现的个数,var为指定要统计的值
L.index(var)该元素的位置,无则抛异常
L.extend(list)追加list,即合并另一个list到L上
L.sort()排序
L.reverse()反转
  • 注意pop()和remove() 函数的区别在于:
  • pop()函数虽然实现了删除列表中指定值的效果,但严格意义上来说,只是将对应下标的值弹出,使用变量去接收的话是有返回值的。
L = ['fs', 'asda', 'serw', 'fs']
v = L.pop(0)
print(v)
-------------------------
输出结果为:fs
  • 1
  • 2
  • 3
  • 4
  • 5
  • remove()函数是直接将值从列表中移除,用变量接收会返回None。
L = ['fs', 'asda', 'serw', 'fs']
v = L.remove('fs')
print(v)
-------------------------
输出结果为:None
  • 1
  • 2
  • 3
  • 4
  • 5

三、Python常见数据类型-Set(集合)类型

1.集合:Set定义

使用一对“{}”包起来数据集合
特点:集合是一个无序不重复(自动去重)元素的序列,只能存储不可变数据类型
空集合:set1 = set()
非空集合:set1 = {1,2,3,8}

2.集合的运算符

集合运算符包含:交集 &,并集 |,异或集 ^,差集-
交集:两个集合相同元素的集合
并集:两个集合所有元素去重的集合
异或集:两个集合除去重复元素的集合
差集:前一个集合在后一个集合不重复的集合数据

set1 = {1, 2, 3, 4, 5}
set2 = {2, 6, 8, 3, 10}
# 求集合的交集
new1 = set1 & set2
print(f"交集:{new1}")
-------------------------
输出结果为:{2,3}
-------------------------

# 求集合的并集
new2 = set1 | set2
print(f"并集:{new2}")
-------------------------
输出结果为:{1, 2, 3, 4, 5, 6, 8, 10}
-------------------------

# 求集合的异或集
new3 = set1 ^ set2
print(f"异或集:{new3}")
-------------------------
输出结果为:{1, 4, 5, 6, 8, 10}
-------------------------

# 求集合的差集
new4 = set1 - set2
new4 = set2 - set1
print(f"差集:{new4}")
-------------------------
输出结果为:set1 - set2={1, 4, 5}
set2 - set1 = {8, 10, 6}
-------------------------
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

3.集合的函数

支持的函数释义
set1.add添加元素
set1.remove(‘sample’)移除元素
len()统计集合元素个数
set1.remove(‘sample’)删除第一次出现的该元素,var为指定要删除的值
set1.remove(‘sample’)该元素在列表中出现的个数,var为指定要统计的值
set1.remove(‘sample’)该元素的位置,无则抛异常
set1.remove(‘sample’)追加list,即合并另一个list到L上

四、Python常见数据类型-Number(数字)类型

1.数字类型:Number定义

包含:int float bool(0/1) complex(复数)

2.Number运算符

运算符释义
+数字之间的加运算
‘-’数字之间的减运算
‘*’数字之间的乘运算
/数字之间的除运算
**数字的多少次幂
//数字的商取整数 number = 8//3 = 2 整数为 2
%数字取余数

3.列表的函数

支持的函数释义
isinstance(s, int)判断是否为int类型
abs()取数字的绝对值
ceil(x)返回数字的上入整数 ceil(4.1) 返回 5
floor(x)返回数字的下舍整数(取整) floor(5.4) 返回 5
round(x, n)四舍五入,n保留几位小数

五、Python常见数据类型-Tuple(元组)类型

1.元组:Tuple定义

使用一对“()”包起来的数据集合,每个数据之间通过‘,’隔开
特点:python序列数据类型,可以存储多个元素
注:一个元素的元组,需在元素后添加逗号,例:l = (‘sample’,)

2.元组也支持截取(切片)进行获取元素

具体使用方法可参考字符串的切片方式

3.修改元组的值

虽然元组属于不可变数据类型,不可修改,但可以通过 +号 连接组合

tup1 = ('sample', '1123', '234')
tup2 = ('sv234',)
new = tup1[0:2]+tup2
print(new)
-------------------------
输出结果为:('sample', '1123', 'sv234')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

4.元组的函数

支持的函数释义
len()元组元素的个数
max()元组里最大值
min()元组里最小值

六、Python常见数据类型-Dict(字典)类型

1.字典:dict定义

使用一对{}包起来的数据集合,元素以key:value(键值对)的方式表示
dict1 = {‘name’:‘张三’,‘age’:12}
注意事项:
1、key必须唯一,value可以不唯一
2、key必须是不可变数据类型,value可以是任意数据类型

2.字典元素的基本操作

info = {'name': '张三', 'age': 18, 'adress': '长沙市'}
# 获取元素
# 1、可直接通过key获取
adress1 = info['adress']
print(adress1)
# 2、通过get()函数获取
adress2 = info.get('adress')
print(adress2)

# 修改字典某个值
#1、如果key存在,修改key的值
#2、如果key不存在,添加一个新的键值对
info['name'] = '李四'
print(info)

# 删除
del info['age']
# 删除所有元素
info.clear()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

3.字典的函数

支持的函数释义
len()统计个数
str()字典转化为字符串
fromkeys(seq,默认值)通过传入一个序列,序列中的元素作为key,默认值为value,生成一个字典
pop(‘key’)删除,无返回值
popitem()删除字典中最后一个元素
get(‘key’)获取值,若字典无该key,则返回None
setdefault()类似get,但当key不存在,会新增key,可设置默认值 setdefault(‘key’,‘235’)
keys()获取字典所有key
values()获取字典所有value
items()同时获取所有key,value的值
update()两个字典进行合并 dict1.update(dict2),如有重复的key,取后面key的值进行合并

七、总结

什么是可变数据类型?什么是不可变数据类型?
每个变量都有一个代表变量空间的id
可变,例:列表,修改列表里的元素,不会改变列表的id,在不改变id的情况下,能修改值那么就是可变
不可变,例:字符串, 无法直接修改字符串的元素,只能重新定义变量,所以id会改变,无法直接修改就是不可变

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/172101
推荐阅读
相关标签
  

闽ICP备14008679号