网站提现功能怎么做,多仓库版仓库管理网站建设源码,单页设计费一般多少钱,搜索引擎优化百度一. 容器类型 在Python中#xff0c;容器类型用于存储、组织和管理数据。主要的容器类型包括列表、元组、字典、集合等。 它们各自有不同的特点和用途#xff1a;
列表(List)#xff1a;
列表是有序的数据集合#xff0c;它可以包含任何类型的数据元素#xff0c;包括数…一. 容器类型 在Python中容器类型用于存储、组织和管理数据。主要的容器类型包括列表、元组、字典、集合等。 它们各自有不同的特点和用途
列表(List)
列表是有序的数据集合它可以包含任何类型的数据元素包括数字、字符串、甚至其他容器。列表是可变的这意味着可以在程序运行期间更改、添加或删除列表中的元素。列表非常适合存储允许重复且需要经常修改的数据集合。
元组(Tuple)
元组也是有序的数据集合但它是不可变的。一旦创建则无法更改其内容。元组通常用于存放不应更改的数据比如说函数的参数。由于元组的不可变性它可以用作字典的键而列表不可以。
字典(Dictionary)
字典是一种存储键值对(key-value pairs)的数据结构其中的键必须是唯一的。字典是无序的集合在Python 3.6及以上版本中字典会维持插入顺序方便遍历。字典非常适合于需要快速查找、添加和删除的场景中。
集合(Set)
集合是不重复元素的无序集合。集合支持数学的集合运算如并集、交集、差集等。集合常用于去重因为它自动过滤掉了重复的元素。
Python容器类型的应用广泛可以应用于数据存储、数据处理、信息检索、数学计算等领域了解和熟练运用这些容器类型对于编写高效、简洁的Python代码至关重要。
二. 字符串
如下定义的变量a存储的是数字类型的值
a 100
如下定义的变量b存储的是字符串类型的值
b www.baidu.com
# 或者
b www.baidu.com
下标
下标就是标记空间的一个数字
有些文档叫法为索引个人觉得其实下标更好的体现它的特点。
如果有字符串name abcdef在内存中的实际存储如下
下标为正数 第0个空间 第1个空间 第2个空间 第3个空间 第4个空间 第5个空间 a b c d e f
下标为负数 第 -6 个空间 第 -5 个空间 第 -4 个空间 第 -3 个空间 第 -2 个空间 第 -1 个空间 a b c d e f
特点
每个字符单独存储各占一个存储空间为了方便标记处哪个空间存放的是哪个字符Python使用了下标如果从左侧开始编号那么下标从 0 开始如果从右侧开始编号那么下标从-1开始如果字符串只有三个字符abc那么能用的下标为0、1、2不能使用超过2以上的这种情况就是越界。越界很危险会导致程序崩溃。
name abcdefprint(name[0]) --a
print(name[1]) --b
print(name[2]) --c
三. 字符串切片
什么是切片
较为官方的说法切片是指对操作的对象截取其中一部分的操作
通俗来说一种能够从数据中取到一部分数据的方式
例如
有一个字符串abcdef我们可以通过切片取到cde
切片不仅可以在字符串中应用还可以对列表、元组等进行操作简言之切片功能很重要
使用方式
[起始:结束:步长]
注意
选取的区间从起始位开始到结束位的前一位结束不包含结束位本身)步长表示选取间隔默认步长为1即取完一个下标的数据之后第二个下标的是在刚刚下标基础上1步长为正数表示从左向右取数据步长为负数表示从右向左取数据
示例一
name abcdef
print(name[0:3]) # 取下标为0、1、2的字符注意取不到下标为3的空间
运行结果
abc示例二
name abcdef
print(name[:3]) # 取下标为0、1、2的字符注意取不到下标为3的空间如果第一个参数没写则默认为0开始运行结果
abc示例三
name abcdef
print(name[3:5]) # 取下标为3、4 的字符
运行结果
de示例四
name abcdef
print(name[2:]) # 取下标为2开始到最后的字符
运行结果:
cdef示例五
name abcdef
print(name[1:-1]) # 取 下标为1开始到右侧最后一个字符之前的所有字符
运行结果
bcde示例六
name abcdef
print(name[1:5:2])步长为2表示间隔1个值取一次运行结果
bd示例七
name abcdef
print(name[5:1:-1])5: 起始位置
1: 结束位置 不包含
-1: 步长表示从右往左取值运行结果
fedc示例八
name abcdef
print(name[5:1:-2])5: 起始位置
1: 结束位置 不包含
-2: 步长表示从右往左取值并间隔一个值运行结果
fd示例九
name abcdef
print(name[::1])起始位置: 未设置
结束位置: 未设置
1: 步长
表示从最左边取值到最右边(包含最右边)运行结果
abcdef示例十
name abcdef
print(name[::])
运行结果
abcdef说明开始位置、结束位置都未指定且步长也未指定那么步长用默认的1则此时从最左取到最右示例十一
name abcdef
print(name[::-1])
运行结果
fedcba说明开始位置、结束位置都未指定步长为-1此时从最右取到最左示例十二
name abcdef
print(name[::-2])
运行结果
fdb说明: 开始、结束位置都未指定且步长是-2那么就意味着从右侧往左取数据且步长为2即隔一个取一个
练习
给定一个字符串变量s请反转字符串
s Hello World!
print(s[4])
print(s)
print(s[:]) # 取出所有元素没有起始位和结束位之分默认步长为1
print(s[1:]) # 从下标为1开始取出 后面所有的元素没有结束位
print(s[:5]) # 从起始位置开始取到 下标为5的前一个元素不包括结束位本身
print(s[:-1]) # 从起始位置开始取到 倒数第一个元素不包括结束位本身
print(s[-4:-1]) # 从倒数第4个元素开始取到 倒数第1个元素不包括结束位本身
print(s[1:5:2]) # 从下标为1开始取到下标为5的前一个元素步长为2不包括结束位本身
# python 字符串快速逆序
print(s[::-1]) # 从后向前按步长为1进行取值
总结
切片使用规则中要么一个冒号[开始位置:结束位置]要么两个冒号[开始位置:结束位置:步长]不写步长时默认为1步长为正数表示从左向右取数据 步长为负数表示从右向左取数据 当开始位置、结束位置都没有设定时要看步长如果步长为正数此时开始位置理解为最左结束位置为最右如果步长为负数此时开始位置理解为最右结束位置为最左
四. 字符串内置方法
find方法
检测str是否包含在 my_str中如果是返回开始的索引值否则返回-1
my_str.find(str, start0, endlen(mystr))my_str welcome to www.baidu.com
print(my_str.find(to))
#输出 8
说明上述运行中数值8表示to这个字符串在原字符串的开始下标值是8
rfind方法
类似于find()函数不过是从右边开始查找返回的索引是从左边开始
my_str.rfind(str, start0, endlen(my_str) )my_str welcome to www.baidu.com
my_str.rfind(to)
#输出 8
count方法
返回str在start和end之间在 my_str里面出现的次数
my_str.count(str, start0, endlen(mystr))my_str welcome to www.baidu.com
my_str.count(w)
#输出 4
replace方法
把my_str中的str1替换成str2如果count指定则替换不超过count次
my_str.replace(str1, str2, mystr.count(str1))my_str welcome to www.baidu.com
my_str.replace(w, W, 1)
#输出 Welcome to www.baidu.com
split方法
以str为分隔符切片my_str如果maxsplit有指定值则仅分隔maxsplit个子字符串
my_str.split(str , maxsplit)my_str welcome to www.baidu.com
my_str.split( )
#输出 [welcome, to, www.baidu.com]my_str.split( , 1)
#输出 [welcome, to www.baidu.com]
startswith方法
检查字符串是否是以指定的字符串开头, 是则返回True否则返回False
my_str.startswith(这里写入你指定的字符串)my_str welcome to www.baidu.com
my_str.startswith(welcome)
#输出 Truemy_str.startswith(Welcome)
#输出 False
endswith方法
检查字符串是否以指定字符串结束如果是返回True,否则返回 False
my_str.endswith(这里写入你指定的字符串)my_str welcome to www.baidu.com
my_str.endswith(com)
#输出 True
lower方法
转换 my_str 中所有大写字符为小写
my_str.lower()my_str WELCOME to www.baidu.com
my_str.lower()
#输出 welcome to www.baidu.com
upper方法
转换 my_str 中所有小写字母为大写
my_str.upper()my_str welcome to www.baidu.com
my_str.upper()
#输出 WELCOME TO WWW.BAIDU.COM
strip方法
删除字符串两端的空白字符
my_str welcome to www.baidu.com
my_str.strip()
#输出 welcome to www.baidu.com
partition方法
把my_str以str分割成三部分,str前str和str后
my_str.partition(str)my_str welcome to www.baidu.com
my_str.partition(to)
#输出 (welcome , to, www.baidu.com)my_str welcome to www.baidu.com
print(my_str.partition(w))
#输出 (, w, elcome to www.baidu.com)
splitlines方法
按照行分隔返回一个包含各行作为元素的列表
my_str.splitlines()my_str welcome to www.baidu.com...: thank you...: good good study day day up...: my_str.splitlines()
#输出 [welcome to www.baidu.com, thank you, good good study day day up]
isalpha方法
如果my_str所有字符都是字母则返回True否则返回False
my_str.isalpha()my_str abc123
my_str.isalpha()
Falsemy_str abc
my_str.isalpha()
True
isdigit方法
如果my_str只包含数字则返回True否则返回 False
my_str.isdigit()my_str abc123
my_str.isdigit()
Falsemy_str 123
my_str.isdigit()
True
isalnum方法
如果my_str所有字符都是字母或数字则返回True否则返回False
my_str.isalnum()my_str abc123
my_str.isalnum()
Truemy_str abc123_
my_str.isalnum()
False
join方法
my_str中每个元素后面插入str构造出一个新的字符串
my_str.join(str)my_str -
str_list [welcome, to, shanghai]
my_str.join(str_list)
welcome-to-shanghai