python 重要数据类型

字符串

双引号或者单引号中的数据,就是字符串
1. 下标索引
所谓“下标”,就是编号,
字符串中的“下标”的使用:
列表与元组支持下标索引好理解,字符串实际上就是字符的数组,所以也支持下标索引。
切片:
切片是指对操作的对象截取其中一部分的操作。
字符串、列表、元组都支持切片操作。
切片的语法:[起始下标:结束:步长]
注意:选取的区间从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身),步长表示选取间隔。
 

字符串方法:

 
方法01:find()
方法说明:检测 str 是否包含在 mystr中,如果是返回开始的索引值,否则返回-1
格式:my_str.find(str, start=0, end=len(mystr))
 
方法02:index()
方法说明:检测 str 是否包含在 mystr中,如果是返回开始的索引值,否则报错
格式:my_str.index(str, start=0, end=len(mystr))
 
方法03:count()
方法说明:返回 str在start和end之间 在 mystr里面出现的次数
格式:my_str.count(str, start=0, end=len(mystr))
 
方法04:replace()
方法说明:把 mystr 中的 str1 替换成 str2,如果 count 指定,则替换不超count次.
格式:my_str.replace(str1, str2, mystr.count(str1))
 
方法05:split()
方法说明:以 str 为分隔符切片 mystr,如果 maxsplit有指定值,则仅分隔 maxsplit 个子字符串
格式:my_str.split(str=" ", 2)
 
方法06:startswith()
方法说明:检查字符串是否是以 str 开头, 是则返回 True,否则返回 False
格式:my_str.startswith(str)
 
方法07:endswith()
方法说明:检查字符串是否以obj结束,如果是返回True,否则返回 False.
格式:my_str.endswith(obj)
 
方法08:upper()
方法说明:转换 mystr 中的小写字母为大写
格式:my_str.upper()
 
方法09:lower()
方法说明:转换 mystr 中所有大写字符为小写
格式:my_str.lower()
 
方法10:title()
方法说明:把字符串的每个单词首字母大写
格式:my_str.title()
 
方法11:capitalize()
方法说明:把字符串的第一个字符大写
格式:my_str.capitalize()
 
方法12:partition()
方法说明:把mystr以str分割成三部分,str前,str和str后
格式:my_str.partition(str)
 
方法13:rpartition()
方法说明:类似于 partition()函数,不过是从右边开始.
格式:my_str.rpartition(str)
 
方法14:splitlines()
方法说明:按照行分隔,返回一个包含各行作为元素的列表
格式:my_str.splitlines()
 
方法15:isalpha()
方法说明:如果 mystr 所有字符都是字母 则返回 True,否则返回 False格式:my_str.isalpha()
 
方法16:isdigit()
方法说明:如果 mystr 只包含数字则返回 True 否则返回 False.
格式:my_str.isdigit()
 
方法17:isalnum()
方法说明:如果 mystr 所有字符都是字母或数字则返回 True,否则返回 False 格式:my_str.isalnum()
 
方法18:isspace()
方法说明:如果 mystr 中只包含空格,则返回 True,否则返回 False. 格式:my_str.isspace()
 
方法19:rjust()
方法说明:返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串 格式:my_str.rjust(width)
 
方法20:ljust()
方法说明:返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串 格式:my_str.ljust(width)
 
方法21:center()
方法说明:返回一个原字符串居中对齐,并使用空格填充至长度 width 的新字符串 格式:my_str.center(width)
 
方法22:lstrip()
方法说明:删除 my_str 左边的空白字符
格式:my_str.lstrip()
 
方法23:rstrip()
方法说明:删除 mystr 字符串末尾的空白字符
格式:my_str.rstrip()
 
方法24:strip()
方法说明:删除mystr字符串两端的空白字符
格式:my_str.strip()
 
方法25:rfind()
方法说明:类似于 find()函数,不过是从右边开始查找.
格式:my_str.rfind(str, start=0,end=len(mystr) )
 
方法26:join()
方法说明:str 中每个字符后面插入my_str,构造出一个新的字符串
格式:my_str.join(str)
 
 

列表的介绍以及常见操作

比C语言的数组强大的地方在于列表中的元素可以是不同类型的
testList = [1, 'a']
 
1. 使用for循环
为了更有效率的输出列表的每个数据,可以使用循环来完成
 
demo:
namesList = ['xiaoWang','xiaoZhang','xiaoHua']
for name in namesList:
print(name)
结果:
xiaoWang
xiaoZhang
xiaoHua
 
2. 使用while循环
为了更有效率的输出列表的每个数据,可以使用循环来完成
demo:
namesList = ['xiaoWang','xiaoZhang','xiaoHua']
length = len(namesList)
i = 0
while i<length:
print(namesList[i])
i+=1
结果:
xiaoWang
xiaoZhang
xiaoHua
 
<1>添加元素("增"append, extend, insert)
append
通过append可以向列表(尾部)添加元素
extend
通过extend可以将另一个集合中的元素逐一添加到列表中
append和extend的区别?
append demo:
输出结果:
extend demo:
输出结果:
 
insert
insert(index, object) 在指定位置index前插入元素object
 
 
<2>修改元素("改")
修改元素的时候,要通过下标来确定要修改的是哪个元素,然后才能进行修改
 
<3>查找元素("查"in, not in, index, count)
所谓的查找,就是看看指定的元素是否存在
in, not in
python中查找的常用方法为:
in(存在),如果存在那么结果为true,否则为false
not in(不存在),如果不存在那么结果为true,否则false
 
index, count
index和count与字符串中的用法相同!!!
 
<4>删除元素("删"del, pop, remove)
类比现实生活中,如果某位同学调班了,那么就应该把这个条走后的学生的姓名删除掉;在开发中经常会用到删除这种功能。
列表元素的常用删除方法有:
del:根据下标进行删除
pop:删除最后一个元素
remove:根据元素的值进行删除
 
<5>排序(sort, reverse)
sort方法是将list按特定顺序重新排列,默认为由小到大,参数reverse=True可改为倒序,由大到小。
reverse方法是将list逆置。

元祖和字典

Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。
<1>访问元组
执行结果:
<3>元组的内置函数count, index
index和count与字符串和列表中的用法相同
 

字典

字典介绍
想一想:
如果有列表
nameList = ['xiaoZhang', 'xiaoWang', 'xiaoLi'];
需要对"xiaoWang"这个名字写错了,通过代码修改:
nameList[1] = 'xiaoxiaoWang'
如果列表的顺序发生了变化,如下
nameList = ['xiaoWang', 'xiaoZhang', 'xiaoLi'];
此时就需要修改下标,才能完成名字的修改
nameList[0] = 'xiaoxiaoWang'
有没有方法,既能存储多个数据,还能在访问元素的很方便就能够定位到需要的那个元素呢?
答:字典
<2>软件开发中的字典
变量info为字典类型:
info = {'name':'班长', 'id':100, 'sex':'f', 'address':'地球亚洲中国北京'}
说明:'name':'班长'----> 键值对
字典和列表一样,也能够存储多个数据
列表中找某个元素时,是根据下标进行的
字典中找某个元素时,是根据'名字'(就是冒号:前面的那个值,例如上面代码中的'name'、'id'、'sex')
字典的每个元素由2部分组成,键(key):值(value)。例如 'name':'班长' ,'name'为键(key),'班长'为值(value)
<3>根据键访问值
info = {'name':'你好','age':18,'ame':'中国'}
print(info["name"])
print(info["age"])
print(info["ame"])
 
<1>修改元素
字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改
(1)
info = {'name':'你好','age':18,'ame':'中国'}
print(info["age"])
info["age"] = 28
print(info)
(2)
info = {'name':'你好','age':18,'ame':'中国'}
print(info["age"])
info["age"] = int(input("请输入年龄:"))
print(info)
 
<2>添加元素、
info = {'name':'你好','age':18,'ame':'中国'}
print(info)
info["hige"] = float(input("请输入身高:"))
print(info)
 
 
<4>删除元素
(1)del 删除指定的元素(删除后不能访问,否则会报错)
(2)clear() ---- 清空
info = {'name':'你好','age':18,'ame':'中国'}
print(info)
info.clear()
print(info)
 
 
<1>len()
测量字典中,键值对的个数
info = {'name':'你好','age':18,'ame':'中国'}
art =len(info)
print(art)
 
<2>keys
返回一个包含字典所有KEY的列表
info = {'name':'你好','age':18,'ame':'中国'}
art = info.keys()
print(art)
 
<3>values
返回一个包含字典所有value的列表
info = {'name':'你好','age':18,'ame':'中国'}
art = info.values()
print(art)
 
<4>items
返回一个包含所有(键,值)元祖的列表
info = {'name':'你好','age':18,'ame':'中国'}
art = info.items()
print(art)
 

集合的介绍

集合是无序的,集合中的元素是唯一的,集合一般用于元组或者列表中的元素去重。
set1 = set() 去重
添加元素(add,update)
add
set1 = {1, 2, 4, 5}
#添加元素
set1.add(8)
 
update
set1 = {1, 2, 4, 5}
#是把要传入的元素拆分,做为个体传入到集合中
set1.update("abcd")
 
删除元素(remove,pop,discard)
remove
set1 = {1, 2, 4, 5}
# 使用remove删除集合中的元素 如果有 直接删除 如果没有 程序报错
set1.remove(2)
pop
set1 = {1, 2, 4, 5}
# 使用pop删除是随机删除集合中的元素 如果set1没有元素讲程序报错
set1.pop()
discard
set1 = {1, 2, 4, 5}
# 使用discard删除 如果元素存在 直接删除 如果元素不存在 不做任何操作
set1.discard(2)
集合的交集和并集
交集和并集( & 和 | )
交集
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
new_set = set1 & set2
print(new_set)
# {3, 4}
并集
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
new_set = set1 | set2
print(new_set)
# {1, 2, 3, 4, 5, 6}
 差集

print(list_1.difference(list_2))                        #差集:在list_1中有在list_2中没有:   {1, 2, 3}

print(list_2.difference(list_1))                        #差集:在list_1中有在list_2中没有:   {8, 6, 7}

posted @ 2020-12-15 20:39  后羿的百宝箱  阅读(119)  评论(0编辑  收藏  举报