网站免费观看永久视频下载,小程序后端开发教程,wordpress+模板宽度,网站建设推广服务合同范本1、字符串#xff08;String#xff09;
使用双引号或者单引号中的数据#xff0c;就是字符串 注#xff1a;python中使用三引号时允许一个字符串跨多行#xff0c;字符串中可以包含换行符、制表符以及其它特殊符号
a
a
c
g
print(a)运行结果#xff1a;
a
c
g1、下标 …1、字符串String
使用双引号或者单引号中的数据就是字符串 注python中使用三引号时允许一个字符串跨多行字符串中可以包含换行符、制表符以及其它特殊符号
a
a
c
g
print(a)运行结果
a
c
g1、下标
所谓‘下标’就是编号就好比超市中存储柜的编号通过这个编号就能找到相应的存储空间 列表与元祖支持下标索引字符串实际上就是字符的数组所以也支持下标索引 python中下标从0开始如果想取出部分字符可以通过下表的方法如
name abcdef
print(name[0])
print(name[1])运行结果
a
b2、切片
切片是指对操作的对象截取其中一部分的操作。字符串、列表、元祖都支持切片操作 切片的语法[起始:结束:步长] 注意选取的区间属于左闭右开型即从‘起始’位开始到‘结束’位的前一位结束不包含结束位本身。如
name abcdef
print(字符串name name)
print(name[0:3]的结果为 name[0:3]) # 取下标 0~2 的字符
print(name[0:5]的结果为 name[0:5]) # 取下标 0~4 的字符
print(name[3:5]的结果为 name[3:5]) # 取下标 3、4 的字符
print(name[2:]的结果为 name[2:]) # 取下标 2 开始到最后的字符
print(name[1:-1]的结果为 name[1:-1]) # 取下标从 2 开始到倒数第2个字符之间的字符
print(name[:3]的结果为 name[:3]) # 取下标 0~2 的字符
print(name[::2]的结果为 name[::2]) # 取下标从 0 开始步长为 2 的字符
print(name[::-2]的结果为 name[::-2]) # 取下标从最后一个字符开始步长为 -2倒着取的字符
print(name[5:1:2]的结果为 name[5:1:2]) # 正向取 下标为 5~2 步长为 2 的字符
print(name[5:1:-2]的结果为 name[5:1:-2]) # 倒着取下标为 5~2 且步长为 2 的字符
print(name[1:5:2]的结果为 name[1:5:2]) # 取下标为 1~4 步长为 2 的字符运行结果
字符串name abcdef
name[0:3]的结果为 abc
name[0:5]的结果为 abcde
name[3:5]的结果为 de
name[2:]的结果为 cdef
name[1:-1]的结果为 bcde
name[:3]的结果为 abc
name[::2]的结果为 ace
name[::-2]的结果为 fdb
name[5:1:2]的结果为
name[5:1:-2]的结果为 fd
name[1:5:2]的结果为 bd2、列表List
nameList [xiaoWang, xiaoZhang, xiaoHua]
print(nameList[0])
print(nameList[1])
print(nameList[2])运行结果
xiaoWang
xiaoZhang
xiaoHua1、列表的循环遍历
1、使用 for 循环
nameList [xiaoWang, xiaoZhang, xiaoHua]
for name in nameList:print(name)
运行结果
xiaoWang
xiaoZhang
xiaoHua2、使用 while 循环
nameList[xiaoWang,xiaoZhang,xiaoHua]
lengthlen(nameList)
i0
while ilength:print(nameList[i])i1运行结果
xiaoWang
xiaoZhang
xiaoHua2、列表的相关操作
1、添加元素‘增’ appendextendinsert
1、通过 append 可以向列表添加元素
# 定义变量 A
A [xiaoWang,xiaoZhang,xiaoHua]
print(---添加之前列表 A 的数据---)
for a in A:print(a)
# 提示并添加元素
name input(请输入要添加的学生姓名: )
A.append(name)
print(---添加之后列表 A 的数据---)
for a in A:print(a)运行结果
---添加之前列表 A 的数据---
xiaoWang
xiaoZhang
xiaoHua
请输入要添加的学生姓名: 张三
---添加之后列表 A 的数据---
xiaoWang
xiaoZhang
xiaoHua
张三2、通过 extend 可以将另一个集合的元素逐一添加到列表中
a[1,2]
b[3,4]
a.append(b)
print(a)
a.extend(b)
print(a)运行结果
[1, 2, [3, 4]]
[1, 2, [3, 4], 3, 4]3、insert(index,object) 在指定位置 index 前插入元素 object
a [0, 1, 2]
a.insert(1, 3)
print(a)运行结果
[0, 3, 1, 2]2、修改元素‘改’
修改元素的时候要通过下标来确定修改的是那个元素然后才能进行修改
# 定义变量 A
A [xiaoWang, xiaoZhang, xiaoHua]
print(---修改之前列表 A 的数据---)
for a in A:print(a)
# 修改元素
A[1] xiaoLu
print(---修改之后列表 A 的数据---)
for a in A:print(a)运行结果
---修改之前列表 A 的数据---
xiaoWang
xiaoZhang
xiaoHua
---修改之后列表 A 的数据---
xiaoWang
xiaoLu
xiaoHua3、查找元素‘查’ innot inindexcount
所谓的查找就是看看指定的元素是否存在 python中查找的常用方法为 in存在如果存在结果为 True否则结果为 False not in不存在如果不存在结果为 True否则结果为 False
# 待查找的列表
nameList [xiaoWang, xiaoZhang, xiaoHua]
# 获取用户要查找的名字
name input(请输入要查找的姓名 )
# 查找是否存在
if name in nameList:print(找到了相同的名字)
else:print(没有找到相同的名字)运行结果
请输入要查找的姓名 xiaoWang
找到了相同的名字index 和 count 与字符串中的用法相同
a [a, b, c, a, b]
print(a.index(a, 1, 4)) # 注意是左闭右开区间
print(account(b))运行结果
3
24、删除元素‘删’ delpopremove
1、del根据下标进行删除
movieName[加勒比海盗,骇客帝国,第一滴血,指怀王,霍比特人]
print(---删除之前---)
for name in movieName:print(name)
del movieName[2]
print(---删除之后---)
for name in movieName:print(name)2、pop删除最后一个元素
movieName[加勒比海盗,骇客帝国,第一滴血,指怀王,霍比特人]
print(---删除之前---)
for name in movieName:print(name)
movieName.pop()
print(---删除之后---)
for name in movieName:print(name)3、remove根据元素的值进行删除
movieName[加勒比海盗,骇客帝国,第一滴血,指怀王,霍比特人]
print(---删除之前---)
for name in movieName:print(name)
movieName.remove(指怀王)
print(---删除之后---)
for name in movieName:print(name)5、排序sort、reverse
sort 方法是将 list 按特定顺序重新排列默认为由小到大参数 reserve True 可以将排序改为倒序 reverse 方法是将 list 逆置
a [1, 4, 2, 3]
print(a)
a.reverse()
print(a)
a.sort()
print(a)
a.sort(reverseTrue)
print(a)运行结果
[1, 4, 2, 3]
[3, 2, 4, 1]
[1, 2, 3, 4]
[4, 3, 2, 1]3、列表的嵌套
类似 while 循环的嵌套列表也是支持嵌套的 一个列表中的元素又是一个列表那么这就是列表的嵌套
schoolName [[北京大学, 清华大学],[南京大学, 天津大学, 天津师范大学],[山东大学, 中国海洋大学]
]
print(schoolName)运行结果
[[北京大学, 清华大学], [南京大学, 天津大学, 天津师范大学], [山东大学, 中国海洋大学]]3、集合Set
集合是一个无序不重复元素的序列基本功能是进行成员关系测试和删除重复元素可以使用大括号 {} 或者 set() 函数创建集合注意创建一个空集合必须用set() 而不是 {} 因为 {} 是用来创建一个空字典
student {Tom, Jim, Mary, Tom, Jack, Rose}
print(student) # 输出集合重复的元素被自动去掉运行结果
{Jack, Tom, Jim, Rose, Mary}1、成员测试
student {Tom, Jim, Mary, Tom, Jack, Rose}
if Rose in student:print(Rose 在集合中)
else:print(Rose 不在集合中)运行结果
Rose 在集合中2、set 可以进行集合运算
a set(abracadabra)
b set(alacazam)
print(a)
print(b)
print(a - b) # a 和 b 的差集
print(a | b) # a 和 b 的并集
print(a b) # a 和 b 的交集
print(a ^ b) # a 和 b 中不同时存在的元素运行结果
{a, c, b, d, r}
{a, m, l, c, z}
{b, d, r}
{a, m, l, c, z, b, d, r}
{a, c}
{m, b, l, z, r, d}4、元祖Tuple
python 的元祖与列表类似不同之处在于元祖的元素不能修改。元祖使用小括号列表使用中括号。
1、访问元祖
aTuple (at, 77, 99.9)
print(aTuple)
print(aTuple[0])
print(aTuple[1])
print(aTuple[2])运行结果
(at, 77, 99.9)
at
77
99.92、修改元祖
元组中的元素值是不允许修改的但我们可以对元祖进行连接组合
tup1 (12, 34.56)
tup2 (abc, xyz)
tup1[0] 100
tup3 tup1 tup2
print(tup3)运行结果
TypeError: tuple object does not support item assignment
(12, 34.56, abc, xyz)3、删除元祖
元组中的元素值是不允许删除的但我们可以使用 del 语句来删除整个元祖
tup (a,b,1,2)
del tup
print(删除后的元祖tup)
print(tup)运行结果
删除后的元祖tup
NameError: name tup is not defined5、字典Dictionary
字典和列表一样也能存储多个数据。 列表中找某个元素时是根据下标进行的 字典的每个元素由2部分组成键和值字典中找某个元素时是根据键
1、根据键访问值
info {name: 张三, id: 100, sex: 男, address: 北京}
print(info[name])
print(info[address])运行结果
张三
北京若访问不存在的值则会报错
info {name: 张三, id: 100, sex: 男, address: 北京}
info[age]运行结果
KeyError: age若我们不确定字典中是否存在某个键而又想获取其值时可以使用 get方法还可以设置默认值
info {name: 张三, id: 100, sex: 男, address: 北京}
age info.get(age)
print(type(age))
age info.get(age, 18) # 若 info 中不存在 age 这个键则返回默认值 18
print(age)运行结果
class NoneType
182、修改元素
字典的每个元素中的数据是可以修改的只要通过 key 找到即可修改
info {name: 张三, id: 100, sex: 男, address: 北京}
newId input(请输入新的学号)
info[id] int(newId)
print(修改之后的 id 为 %d % info[id])运行结果
请输入新的学号001
修改之后的 id 为 13、添加元素
如果在使用 变量名[‘键’]数据 时这个键在字典中不存在那么就会新增这个元素
info {name: 张三, sex: 男, address: 北京}
print(id 为 %d % info[id]) # 程序会终止运行因为访问了不存在的减
newId input(请输入新的学号)
info[id] int(newId)
print(添加之后的 id 为 %d % info[id])运行结果
KeyError: id
请输入新的学号001
添加之后的 id 为 14、删除元素
对字典进行删除操作有以下几种del、clear
1、del删除指定的元素
info {name: 张三, sex: 男, address: 北京}
print(删除前 %s % info[name])
del info[name]
print(删除后 %s % info[name])运行结果
删除前 张三
KeyError: name2、del 删除整个字典
info {name: 张三, sex: 男, address: 北京}
print(删除前 %s % info)
del info
print(删除后 %s % info)运行结果
删除前 {name: 张三, sex: 男, address: 北京}
NameError: name info is not defined3、clear 清空整个列表
info {name: 张三, sex: 男, address: 北京}
print(清空前 %s % info)
info.clear()
print(清空后 %s % info)运行结果
清空前 {name: 张三, sex: 男, address: 北京}
清空后 {}5、len返回字典中键值对的个数
info {name: 张三, sex: 男, address: 北京}
print(info 中键值对的个数为str(len(info)))运行结果
info 中键值对的个数为36、keys返回一个包含字典所有 key 的可迭代对象
info {name: 张三, sex: 男, address: 北京}
print(info.keys())运行结果
dict_keys([name, sex, address])7、values返回一个包含字典所有 value 的可迭代对象
info {name: 张三, sex: 男, address: 北京}
print(info.values())运行结果
dict_values([张三, 男, 北京])8、items返回一个包含所有键,值元祖的可迭代对象
info {name: 张三, sex: 男, address: 北京}
print(info.items())运行结果
dict_items([(name, 张三), (sex, 男), (address, 北京)])6、遍历
通过 for…in… 的语法结构我们可以遍历字符串、列表、元祖、字典等数据结构
1、字符串遍历
s hello world
for c in s:print(c, end )运行结果
h e l l o w o r l d 2、列表遍历
list [1, 2, 3, 4, 5]
for l in list:print(l, end )运行结果
1 2 3 4 5 3、元组遍历
tp (1, 2, 3, 4, 5)
for t in tp:print(t, end )运行结果
1 2 3 4 5 4、字典遍历
1、遍历字典的 key键
dt {name: 张三, sex: 男, address: 北京}
for key in dt.keys():print(key)运行结果
name
sex
address2、遍历字典的 value值
dt {name: 张三, sex: 男, address: 北京}
for value in dt.values():print(value)运行结果
张三
男
北京3、遍历字典的项元素
dt {name: 张三, sex: 男, address: 北京}
for item in dt.items():print(item)运行结果
(name, 张三)
(sex, 男)
(address, 北京)4、遍历字典的 key-value键值对
dt {name: 张三, sex: 男, address: 北京}
for key, value in dt.items():print(key, value)运行结果
name 张三
sex 男
address 北京5、带下标索引的遍历
chars [a, b, c, d]
i 0
for c in chars:print(%d: %s % (i, c))i 1运行结果
0: a
1: b
2: c
3: d6、enumerate函数
用于将一个可遍历的数据对象如列表、元祖、字符串组合为一个索引序列同时列出数组和数据下标一般用在 for 循环当中
chars [a, b, c, d]
for i, c in enumerate(chars):print(i, c)运行结果
0 a
1 b
2 c
3 d7、公共方法
1、运算符
运算法描述支持的数据类型合并字符串、列表、元组*复制字符串、列表、元组in元素是否存在字符串、列表、元组、字典not in元素是否不存在字符串、列表、元组、字典
1、
print(hello world)
print([1, 2] [3, 4])
print((a, b) (c, d))运行结果
helloworld
[1, 2, 3, 4]
(a, b, c, d)2、*
print(ab * 4)
print([1, 2] * 4)
print((a, b) * 4)运行结果
abababab
[1, 2, 1, 2, 1, 2, 1, 2]
(a, b, a, b, a, b, a, b)3、in
print(he in hello world)
print(3 in [1, 2])
print(4 in (1, 2, 3, 4))
print(name in {name: 张三, age: 24})运行结果
True
False
True
True4、not in
print(he not in hello world)
print(3 not in [1, 2])
print(4 not in (1, 2, 3, 4))
print(name not in {name: 张三, age: 24})运行结果
False
True
False
False注意innot in 在对字典操作时判断的是字典的键
2、python 内置函数
方法描述len(item)计算容器中元素个数max(item)返回容器中元素最大值min(item)返回容器中元素最小值del(item)删除变量
range()函数返回的是一个可迭代的对象 range(stop) range(start,stop[,step])
for i in range(5):print(i, end )
print()
for i in range(1, 5, 1):print(i, end )
print()
for i in range(1, 5, 2):print(i, end )运行结果
0 1 2 3 4
1 2 3 4
1 3 列表推导式 所谓的列表推导式就是指的轻量级循环创建列表
a [x for x in range(4)]
print(a)
b [x for x in range(1, 4)]
print(b)
c [x for x in range(1, 10) if x % 2 0]
print(c)
d [(x, y) for x in range(1, 3) for y in range(3)]
print(d)运行结果
[0, 1, 2, 3]
[1, 2, 3]
[2, 4, 6, 8]
[(1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]8、引用
在 python 中值是靠索引来传递的 我们可以用 id() 来判断两个变量是否为同一个值的引用我们可以将 id 值理解为那块内存的地址标示
可变类型和不可变类型
可变类型值可以改变 List列表、Dictionary字典、Set集合 以列表为例如下
a [a, b, c]
b a
print(a)
print(b)
print(id(a))
print(id(b))
a.append(d)
print(a)
print(b)
print(id(a))
print(id(b))运行结果
[a, b, c]
[a, b, c]
1307459048192
1307459048192
[a, b, c, d]
[a, b, c, d]
1307459048192
1307459048192不可变类型值不可以改变 Number数字、String字符串、Tuple元祖 以字符串为例如下
ahelloworld
ba
print(a a)
print(b b)
print(id(a))
print(id(b))
a你好
print(a a)
print(b b)
print(id(a))
print(id(b))运行结果
a helloworld
b helloworld
1894198703984
1894198703984
a 你好
b helloworld
1894198795824
1894198703984