原标题:python基础之数据类型及相关方法
目录
一、概论
Ⅰ.前言
Ⅱ.通用操作
Ⅲ.内置函数
二、字符串
Ⅰ.创建
Ⅱ.运算符
Ⅲ.字符串格式化
Ⅳ.常用操作
1.判断类型
2.查找和替换
3.大小写转换
4.文本对齐
5.去除空白字符
6.拆分和连接
三、列表、元组
Ⅰ.定义及创建
Ⅱ.特点
Ⅲ.基本操作
四、字典
Ⅰ.定义及创建
Ⅱ.特点
Ⅲ.基本操作
五、集合
Ⅰ.定义及创建
Ⅱ.特点
Ⅲ.基本操作
一、概论
Ⅰ.前言
1.python支持一种数据结构的基本概念是容器,容器是可包含其他对象的对象,两种主要容器有序列(列表和元组),映射(字典)。但是集合既不是序列也不是映射的容器
Ⅱ.通用操作
1.索引:python中最基本的数据结构是序列,序列中每个元素都有编号,即位置或者索引,在映射中称键,左边从0开始,右边-1开始。
2.切片:适用于字符串,列表,元组
1)切片使用索引值来限定范围,从一个大的字符串中切出小的字符串
2)格式: 字符串[开始索引:结束索引:步长]
3)注意点:
指定区间是左闭右开型,从起始位置开始,结束位的前一位结束(不包含结束位本身)
从头开始,开始索引 数字可以省略,冒号不能省略
到末尾结束,结束索引 数字可以省略,冒号不能省略
步长默认为 1,如果连续切片,数字和冒号都可以省略
倒序的话,就从-1开始,依次递减
3.相加:拼接序列,但是不能拼接列表和字符串。
4.相乘:重复这个序列
5.成员运算符(in / not in):测试 序列中是否包含指定的成员,对字典操作时,判断的是字典的键
Ⅲ.内置函数
len(item):计算容器中元素个数
del(item):删除是变量不是数据
max(item):返回容器中元素最大值,如果是字典,只针对 key 比较
min(item):返回容器中元素最小值 ,如果是字典,只针对 key 比较
type(item) :查看容器数据类型
id() :查看变量的位置
list(), dict(),str() ,tuple() :各数据类型的创建函数也是转换函数
[注]:如果是 数字型,int(),float()进行数据转换
二、字符串
Ⅰ.创建
1.使用引号(单引号或双引号或三引号)创建字符串
# 定义一个字符串
a = '子明'
a = "子明"
a = '''子明'''
1
2
3
4
2.变量赋值过程示意图
Ⅱ.运算符
*【注】:格式化下面单独详解
Ⅲ.字符串格式化
1.基本用法:将一个值插入到一个有字符串格式符(%s)的字符串中
print ("我叫 %s !" % '子明' )
print ("我叫 %s 今年 %d 岁!" % ('子明', 20))
*【注】详细的字符串格式化符号如下:
2.format() 方法格式化’
// 调用format方法,并提供要设置格式的值,去替换用花括号括起来的替换字段,替换字段由三部分组成:
(1)字段名:索引或表示符,指出设置哪个值的格式,并使用结果来替换该字段,也可指定特殊部分,如列表的元素。
只需向format提供要设置的未命名参数,并在格式字符串中使用未命名字段,此时顺序将字段和参数匹配,也可以给参数指定名称。
>>> " {foot} { } {bar} { } ".format(1,2,bar=4,foot=3)
'3,2,4,1'
还可以通过索引指定要在哪个字段中使用相应的未命名参数
>>> " {foot} {1} {bar} {0} ".format(1,2,bar=4,foot=3)
'3,2,4,1'
(2)转换标志:感叹号后面的单个字符,包括r(repr),s(str) 和 a(ASCII)
Str 创建外观普通的字符串版本(对字符串不做任何处理),repr创建给定值的python表示,a便是ASCII表示。
*[注]:pi = π
>>>print( “{pi ! a} {pi ! s} {pi ! r}”.format(pi=”π”))
'\u03c0' π 'π'
(3)格式说明符:冒号后面的表达式,包括格式类型(如字符串,浮点型或十六进制),字段宽度和数的精度,如何显示符号和千位分隔符,以及对齐和填充方式。
一般用格式说明(冒号后面)使用字符表示要转换的值类型
>>> "the number is {num:f}".format(num=42)
'the number is 42.000000'
*【注】字符串格式设置中的类型说明符
. 宽度,精度和千位分隔符
>>> "pi day is {pi : 10.2f }".format(pi=pi)
' 3.14'
>>> " { name:10 }". format (name="Bob") // 很显然数字和字符串对齐方式不同
'Bob '
【分析】 :10表示宽度 .2表示精度 f表示格式说明 如果冒号( ; )后面是逗号( ,)表示添加千位符(每隔3位数一个逗号)
符号,对齐和用0填充
在宽度和精度前面加一个标志,这个标志可以是零,加号,减号和空格
用0填充 (pi = π)
>>> ' { : 010.2f } '.format(pi)
'0000003.14'
要指定左对齐,右对齐和居中,分别使用< > 和^,还可以用填充字符来扩充对齐说明符,比如美元符号$
【分析】 而冒号前面的0或1,表示和这个值是正还是负,也可以直接在冒号用+或-来表示。冒号后面也能是=号,将指定填充字符放在符号和数字之前。#号,将触发另外一种转换方式,对于二,八,十六进制,将加一个前缀。对于十进制,必须包含小数点(对于类型g,保留小数点后面的零)
>>> "{:b}".format(42)
'101010'
>>> "{:#b}".format(42)
'0b101010'
Ⅳ.常用操作
1.判断类型
isspace() 如果 string 中只包含空格,则返回 True
isalnum() 如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True
isalpha() 如果 string 至少有一个字符并且所有字符都是字母则返回 True
isdecimal() 如果 string 只包含数字则返回 True,全角数字
string.isdigit() 如果 string 只包含数字则返回 True,全角数字、⑴、\u00b2
isnumeric() 如果 string 只包含数字则返回 True,全角数字,汉字数字
istitle()如果 string 是标题化的(每个单词的首字母大写)则返回 True
islower() 如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True
- isupper() 如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True
2.查找和替换
startswith(str) 检查字符串是否是以 str 开头,是则返回 True
endswith(str) 检查字符串是否是以 str 结束,是则返回 True
find(str, start=0, end=len(string))检测 str 是否包含在 string 中,如果 start 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回 -1
rfind(str, start=0, end=len(string))类似于 find(),不过是从右边开始查找
index(str, start=0, end=len(string))跟 find() 方法类似,不过如果 str 不在 string 会报错
rindex(str, start=0, end=len(string))类似于 index(),不过是从右边开始
replace(oldstr, newstr, num=string.count(old))把 string 中的 oldstr 替换成 newstr,如果 num 指定,则替换不超过 num 次
count(str)计算子串str出现的次数
3.大小写转换
capitalize() 把字符串的第一个字符大写
title() 把字符串的每个单词首字母大写
lower() 转换 string 中所有大写字符为小写
upper() 转换 string 中的小写字母为大写
swapcase()翻转 string 中的大小写
4.文本对齐
ljust(width) 返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串
rjust(width) 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串
center(width)返回一个原字符串居中,并使用空格填充至长度 width 的新字符串
5.去除空白字符
lstrip() 截掉 string 左边(开始)的空白字符
rstrip() 截掉 string 右边(末尾)的空白字符
strip() 截掉 string 左右两边的空白字符
6.拆分和连接
partition(str) 把字符串 string 分成一个 3 元素的元组 (str前面, str, str后面)
rpartition(str) 类似于 partition() 方法,不过是从右边开始查找
split(str="", num)以 str 为分隔符拆分 string,如果 num 有指定值,则仅分隔 num + 1 个子字符串,str 默认包含 ‘\r’, ‘\t’, ‘\n’ 和空格
splitlines()按照行(’\r’, ‘\n’, ‘\r\n’)分隔,返回一个包含各行作为元素的列表
join(seq) 以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
三、列表、元组
Ⅰ.定义及创建
列表定义:方括号,元素以逗号隔开
元组定义:小括号,元素以逗号隔开
列表创建:name = list() 或 [] 或 [1,2] 或 [1,[1,2]]
元组创建:name = tuple() 或()或 (1,2)或(1,,1,2))
Ⅱ.特点
列表:可修改,可重复,可嵌套,支持多种数据
元组:不可修改,可重复,可嵌套,支持多种数据
Ⅲ.基本操作
四、字典
Ⅰ.定义及创建
定义:花括号,键值对用冒号隔开,每对之间逗号隔开
创建:name = dict() 或 {} 或 dict(name = ‘lucy’,age=18)或 dict([(‘name’,‘Tom’),(‘age’,12)])
Ⅱ.特点
无序,键唯一(去重),可嵌套,键是不可变类型数据
Ⅲ.基本操作
增
update() : 使用字典里的项更新另一个字典
删
clear() : 删除所有字典项
pop() : 获取并删除指定键相关联的值
改 list_name[键] = 值
查
get() :访问字典项,访问不存在的键,返回None,也可以是你指定的值,访问存在的键
五、集合
Ⅰ.定义及创建
定义:花括号,元素以逗号隔开
创建 :{ } 或 set() 空集合只能是set函数创建,{}是创建字典的
Ⅱ.特点
无序,不重复,元素不可变
Ⅲ.基本操作
增
add():将元素添加到集合当中,如果元素存在,则不进行任何操作
update() : 更新集合
删
remove() : 将元素从集合中移除,如果元素不存在,则会发生错误
discard() : 移除集合中的元素,且如果元素不存在,不会发生错误
pop() : 随机删除一个元素
clear() : 清空集合
责任编辑: