常见数据结构
一、String(字符串)
1、基本使用
-
创建字符串
# 创建字符串 str1 = str("lucky is a good man") # 基本类型字符串在使用是会自动转变为字符串对象类型 str1 = 'lucky is a nice man'
-
运算
# 字符串运算 str3 = "lucky is a cool man" str4 = "lucky is a handsome man" # 字符串加法(字符串拼接) str5 = str3 + str4 print("str5= %s"%(str5)) # 字符串乘法(重复字符串) str6 = str3 * 3 print("str6= %s"%(str6))
-
成员判断
# 成员判断 str7 = "lucky is a good man" print("lucky" in str7)
-
内容获取
# 内容获取 str8 = "lucky is a good man" # 根据下标(索引)获取字符串中的内容,下标从0开始 # 字符串[下标] print(str8[2]) # 截取字符串中的一部分 字符串[start:stop] [start, stop) print(str8[1:4]) print(str8[1:]) print(str8[:4])
-
格式化打印
name = "lucky"
age = 18
height = 175.5
print("我叫%s,我今年%d岁,身高%f,具体身高%.1f" % (name, age, height, height))
# 已知print的内容默认是打印在一行的,另一个print会另起一行再打印
# end默认为\n
print("lucky is a good", end="*")
print(" man")
2、常用转义字符
str12 = "su\\nc\tk is a go\no m\"a'n"
print(str12)
# 如果字符串里有很多字符需要转义,就需要加入很多\,为了简化,python允许使用r""表示,""内部的字符串默认不转义
# \\\t\\
print("\\\t\\")
print("\\\\\\t\\\\")
print(r"\\\t\\")
3、比较大小
原理:按顺序从两个字符串中从左侧开始获取字符,比较两个字符,谁的阿斯科玛值大那么就是哪个字符串大,如果相等,则继续比较下一个
str1 = "abc"
str2 = "ab"
print(str1 > str2)
4、内置功能
注意:字符串本身是不可以改变的
-
eval()
原型:eval(str)
功能:将字符串当成有效的表达式来求值并返回结果
返回值:计算后得到的数字num = eval("123") print(num, type(num)) # print(int("12+3")) #报错 print(eval("12+3")) print(eval("+123")) print(eval("-123")) print(eval("12-3")) print(eval("12*3")) #注意:字符串中有非数字字符会报错(数学运算符除外) # print(eval("12a3")) #报错 # print(eval("a123")) #报错 # print(eval("123a")) #报错 # 表示的是变量是可以的 a = "124" print(eval("a")) # print(eval("a+1")) #报错
-
len(string)
原型:len(str)
功能:计算字符串的长度(按字符个数计算)
参数:一个字符串
返回值:字符串的长度print(len("lucky is a good man")) print(len("lucky is a good man凯"))
-
lower()
原型:lower()
功能:将字符串中所有大写英文字母转为小写str1 = "lucky Is a GoOd MAn!" str2 = str1.lower() print(str1) print(str2)
-
upper()
原型:upper()
功能:将字符串中所有小写英文字母转为大写str3 = "lucky Is a GoOd MAn!" str4 = str3.upper() print(str3) print(str4)
-
swapcase()
原型:swapcase()
功能:将字符串中的大写英文字母转为小写,小写英文字母转为大写str5 = "lucky Is a GoOd MAn!" str6 = str5.swapcase() print(str5) print(str6)
-
capitalize()
原型:capitalize()
功能:将字符串中第一个字符转为大写,其余转为小写str7 = "lucky Is a GoOd MAn!" str8 = str7.capitalize() print(str7) print(str8)
-
title()
原型:title()
功能:得到“标题化”的字符串,每个单词的首字符大写,其余小写str9 = "lucky Is a GoOd MAn!" str10 = str9.title() print(str10)
-
center(width[, fillchar])
功能:返回一个指定width宽度的居中字符串,fillchar为填充字符串,默认为空格
print("lucky".center(20, "#"))
-
ljust(width[, fillchar])
功能:返回一个指定width宽度的左对齐字符串,fillchar为填充字符串,默认为空格
print("lucky".ljust(20, "#"))
-
rjust(width,[, fillchar])
功能:返回一个指定width宽度的右对齐字符串,fillchar为填充字符串,默认为空格
print("lucky".rjust(20, "#"))
-
zfill (width)
功能:返回一个指定width宽度的右对齐字符串,默认填充0
print("lucky".zfill(20))
-
count(str[, beg= 0[,end=len(string)]])