栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > Python

Python笔记9

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python笔记9

高级变量
  • 1 列表
    • 1.1 列表的定义
    • 1.2 循环遍历
  • 2 元组
    • 2.1
    • 2.2 常用操作
    • 2.3 循环遍历
    • 2.4 应用场景
  • 3 字典
    • 3.1 字典的定义
    • 3.2 字典常用操作
    • 3.3 循环遍历
    • 3.4 应用场景
  • 4 字符串
    • 4.1 字符串的定义
    • 4.2 字符串常用操作
    • 4.3 字符串切片
  • 5 公共方法
    • 5.1 Python内置函数
    • 5.2 切片

1 列表 1.1 列表的定义
  • List(列表)是Python中使用最频繁的数据类型,在其他语言中通常叫做数组
  • 专门用于存储一串信息
  • 列表用[]定义,数据之间使用,分隔
  • 列表的索引从0开始
    • 索引就是数据在列表中的位置编号,索引又可以被称为下标

注意:从列表中取值时,如果超出索引范围,程序会报错

序号分类关键字/函数/方法说明
1增加列表.insert(索引,数据)在指定位置插入数据
列表.append(数据)在末尾追加数据
列表.extend(列表2)将列表2的数据追加到列表
2修改列表[索引]=数据修改指定索引的数据
3删除del列表[索引]修改指定索引的数据
列表.remove(数据)删除第一个出现的指定数据
列表.pop删除末尾数据
列表.pop(索引)删除指定索引数据
列表.clear清空列表
4统计len(列表)列表长度
列表.count(数据)数据在列表中出现的次数
5排序列表.sort()升序排序
列表.sort(reverse=True)降序排序
列表.reverse()逆序、反转

del关健字本质上是用来将一个变量从内存中删除的,不建议使用

array = [1, 2, 3]
array2 = [3, 4, 2]
# 取值
print(array[0])
print(array.index(2))

# 修改
array[2] = 5
print(array[2])

# 增加
array.append(4)
array.insert(3, 8)
array.extend(array2)

# 删除
array.remove(4)
array.pop()
array.pop(3)

array.clear()

print(array)
输出:
1
1
5
[]
array = [1, 2, 3,1]

# 统计
length = len(array)
print(length)

count = array.count(1)
print(count)

输出:
4
2
array = [1, 2, 3, 52, 21, 5]

# 排序
array.sort()
print(array)
array.sort(reverse=True)
print(array)
array.reverse()
print(array)
输出:
[1, 2, 3, 5, 21, 52]
[52, 21, 5, 3, 2, 1]
[1, 2, 3, 5, 21, 52]
1.2 循环遍历
  • 遍历就是从头到尾依次从列表中获取数据
    • 在循环体内部针对每一个元素,执行相同的操作
  • Python中为了提高列表的遍历效率,专门提供的迭代iteration遍历
  • 使用 for就能够实现迭代遍历
#for循环内部使用的变量in列表
for name in name_list:
    # 循环内部针对列表元素进行操作
    print(name)

应用场景

  • 尽管Python的列表中可以存储不同类型的数据
  • 但是在开发中,更多的应用场景是
    1. 列表存储相同类型的数据
    2. 通过迭代遍历,在循环体内部,针对列表中的每一项元素,执行相同的操作
2 元组 2.1
  • Tuple(元组)与列表 相似,不同在于元组的元素不能修改
    • 元组表示多个元素组成的序列
    • 元组在Python中有特定的应用场景
  • 用于存储一串 信息 ,数据之间使用,分隔
  • 元组用()定义
  • 索引 从0开始
    • 索引 相当于元组数据的下标

创建空元组

tuple = ()

元组中只包含一个元素时,需要在元素后面添加逗号

tuple = (50,)
2.2 常用操作

2.2元组常用操作

tuple.count
tuple.index

示例:

tuple1 = (8, "egf", "wfewe",8)
# index
print(tuple1[1])
print(tuple1.index(8))
# count
print(tuple1.count(8))

输出:
egf
0
2
2.3 循环遍历
  • 取值就是从元组中获取存储在指定位置的数据
  • 遍历就是从头到尾 依次从元组中获取数据
#for循环内部使用的变量in元组
for item in tuple:
    # 循环内部针对列表元素进行操作
    print(item)
  • Python中,可以使用for循环遍历所有非数字型类型的变量:列表、元组、字典以及字符串
  • 在实际开发中,除非能够确认元组中的数据类型,否则针对元组的循环遍历需求并不是很多
2.4 应用场景
  • 在开发中,应用场景是:
      1. 函数的参数和返回值,一个函数可以接收任意多个参数,或者一次返回多个数据
      1. 格式字符串,格式化字符串后面的()本质上就是一个元组
      1. 让列表不可以被修改,以保护数据安全
#格式化字符串后面的()本质上就是元组

info = ("zhangsan",18)
print("%s的年龄是%d" % info)

输出:
zhangsan的年龄是18

格式化字符串后面的()本质上就是元组

元组和列表之间的转换

  • 使用list函数可以把元组转换成列表
list(元组)
  • 使用tuple函数可以把列表转换成元组
tuple(列表)
3 字典 3.1 字典的定义
  • dictionary(字典)是除列表以外最灵活的数据类型
  • 字典存储多个数据
    • 通常存储描述一个物体的相关信息
  • 和列表的区别
    • 列表是有序的对象集合
    • 字典是无序的对象集合
  • 字典用{}定义
  • 字典使用键值对存储数据,键值对之间使用,分隔
    • key是索引
    • value是数据
    • 键和值之间使用:分隔
    • 键必须是唯一的
    • 值可以取任何数据类型,但键只能使用字符串、数字或元组
xiaoming = {"name": "小明",
            "age": 18,
            "gender": True, "height": 1.75}
3.2 字典常用操作

能够使用的函数如下:

tuple.clear     tuple.items   tuple.setdefault
tuple.copy     tuple. keys  tuple.update
tuple.fromkeys   tuple. pop   tuple.values
tuple.get      tuple.popitem

xiaoming = {"name": "小明",
            "age": 18,
            "gender": True, "height": 1.75}
# 取值
print(xiaoming["name"])

# 增加/修改
print(xiaoming)
xiaoming["weight"] = 75
print(xiaoming)
xiaoming["name"] = "iwsfd"
print(xiaoming)
# 删除
xiaoming.pop("name")
print(xiaoming)


xiaoming = {"name": "小明",
            "age": 18,
            "gender": True}
# 统计键值对数量
print(len(xiaoming))
# 合并字典
temp = {"height": 1.75,
        "age": 20}
xiaoming.update(temp)
# !!!!!!!!注意:如果被合并的字典中包含已经存在的键值对,会覆盖原有的键值对
print(xiaoming)
# 清空字典
xiaoming.clear()
print(xiaoming)

输出:
小明
{'name': '小明', 'age': 18, 'gender': True, 'height': 1.75}
{'name': '小明', 'age': 18, 'gender': True, 'height': 1.75, 'weight': 75}
{'name': 'iwsfd', 'age': 18, 'gender': True, 'height': 1.75, 'weight': 75}
{'age': 18, 'gender': True, 'height': 1.75, 'weight': 75}
3
{'name': '小明', 'age': 20, 'gender': True, 'height': 1.75}
{}

如果被合并的字典中包含已经存在的键值对,会覆盖原有的键值对

3.3 循环遍历
  • 遍历就是依次从字典中获取所有键值对
#for循环内部使用的键变量in字典
for k in direction:
    # 循环内部针对列表元素进行操作
    print("%s is %s" % (k,direction[k]))

实际开发中,针对字典的循环遍历需求并不是很多

3.4 应用场景
  • 应用场景是:
    • 使用多个键值对,存储描述一个物体的相关信息
    • 将多个字典放在一个列表中,再进行遍历,在循环体内部针对每一个字典进行相同的处理
card_list = [
    {"name": "张三", "qq": "12345", "phone": "110"},
    {"name": "李四", "qq": "54321", "phone": "10086"}
]
for card_info in card_list:
    print(card_info)

输出:
{'name': '张三', 'qq': '12345', 'phone': '110'}
{'name': '李四', 'qq': '54321', 'phone': '10086'}
4 字符串 4.1 字符串的定义
  • 字符串是编程语言中表示文本的数据类型
  • Pythbn中可以使用一对双引号"或者一对单引号'定义一个字符串
    • 虽然可以使用"或者'做字符串的转义,但是在实际开发中:
      • 如果字符串内部需要使用",可以使用'定义字符串
      • 如果字符串内部需要使用',可以使用"定义字符串
  • 可以使用索引获取一个字符串中指定位置的字符,索引计数从0开始
  • 也可以使用for循环遍历字符串中每一个字符
    大多数编程语言都是用"来定义字符串
string = "Hello Python"
for c in string:
print(c)
4.2 字符串常用操作
  1. 判断类型
方法说明
string.isspace()如果string中只包含空格,则返回True
string.isalnum()如果string至少有一个字符并且所有字符都是字母或数字则返回True
string.isalpha()如果string至少有一个字符并且所有字符都是字母则返回True
string.isdecimal()如果string 只包含数字则返回True,全角数字
string.isdigit()如果string 只包含数字则返回True,全角数字、(1)、u00b2
string.isnumeric()如果string 只包含数字则返回True,全角数字,汉字数字
string.istite()如果string是标题化的(每个单词的首字母大写)则返回True
string.islower()如果string中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回True
string.isupper()如果string中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回True
#空白字符
space_str = "       tnr"
print(space_str.isspace())

#只包含数字


num_str = "1"
print(num_str)
print(num_str.isdecimal())
print(num_str.isdigit())
print(num_str.isnumeric())
#不包含小数
num_str = "1.1"
print(num_str)
print(num_str.isdecimal())
print(num_str.isdigit())
print(num_str.isnumeric())
#除decimal函数,其他可以识别unicode数字
num_str = "u00b2"#(1)
print(num_str)
print(num_str.isdecimal())
print(num_str.isdigit())
print(num_str.isnumeric())
#中文数字 只有numeric

num_str="一千"
print(num_str)
print(num_str.isdecimal())
print(num_str.isdigit())
print(num_str.isnumeric())

输出:
True
1
True
True
True
1.1
False
False
False
²
False
True
True
一千
False
False
True
  1. 查找替换
方法说明
string.startswith(str)检查字符串是否是以str开头,是则返回True
string.endswith(str)检查字符串是否是以str结束,是则返回True
string.find(str, start=0,end=len(string))检测str是否包含在string中,如果start 和end指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回 -1
string.rfind(str, start=0,end=len(string))类似于find()函数,不过是从右边开始查找
string.rindex(str,start=0,end=len(string))跟find()方法类似,只不过如果str不在string会报错
string.rindex(str,start=0,end=len(string))类似于index(),不过是从右边开始
string.replace(old_str,new_str,num=string.count(old))把string中的old_str替换成new_str,如果num指定,则替换不超过num次
hello_str = "hello world"

# 指定字符串开始
print(hello_str.startswith("Hello"))

# 指定字符结束
print(hello_str.endswith("world"))

# 查找指定字符串
print(hello_str.find("llo"))
# index方法找不到会报错 find不会
print(hello_str.find("abd"))

# 替换字符串 不会修改原有字符串
print(hello_str.replace("world", "hhhh"))
print(hello_str)

输出:
False
True
2
-1
hello hhhh
hello world
  1. 大小写转换
方法说明
string.capitalize()把字符串的第一个字符大写
string.title()把字符串的每个单词首字母大写
string.lower()转换string中所有大写字符为小写
string.upper()转换string中的小写字母为大写
string.swapcase()翻转string中的大小写
  1. 文本对齐
方法说明
string.ljust(width)返回一个原字符串左对齐,并使用空格填充至长度width 的新字符串
string.rjust(width)返回一个原字符串右对齐,并使用空格填充至长度width的新字符串
string.center(width)返回一个原字符串居中,并使用空格填充至长度width的新字符串
  1. 去除空白字符
方法说明
string.lstrip()截掉string左边(开始)的空白字符
string.rstrip()截掉string右边(末尾)的空白字符
string.strip()截掉string左右两边的空白字符
  1. 拆分与连接
方法说明
string.partition(str)把字符串string分成一个3元素的元组(str前面, str, str后面)
string.rpartition(str)类似于partition()函数,不过是从右边开始查找
string.split(str=“”;num)以str为分隔符切片string,如果num有指定值,则仅分隔num + 1个子字符串,str默认包含’r’,‘t’,'n’和空格
string.splitlines()按照行(‘r’,‘n’,‘rn’)分隔,返回一个包含各行作为元素的列表
string.join(seq)以string 作为分隔符,将seq中所有的元素(的字符串表示)合并为一个新的字符串
4.3 字符串切片
  • 切片方法适用于字符串、列表、元组
    • 切片使用索引值来限定范围,从一个大的字符串中切出小的字符串
    • 列表和元组都是有序的集合,都能够通过索引值获取到对应的数据
    • 字典是一个无序的集合,是使用键值对保存数据

语法:

字符串[开始索引:结束索引:步长]

注意:

  1. 指定的区间属于左闭右开型[开始索引,结束索引)=>开始索引>= 范围 <结束索引
    • 起始位开始,到结束位的前一位结束(不包含结束位本身)
  2. 从头开始,开始索引数字可以省略,冒号不能省略
  3. 到末尾结束,结束索引数字可以省略**,冒号不能省略**
  4. 步长默认为1,如果连续切片,数字和冒号都可以省略,步长是正数,是从左向右切。步长是负数是,切边从右到左。
5 公共方法 5.1 Python内置函数

Python包含了以下内置函数:

函数描述备注
len(item)计算容器中元素个数
del(item)删除变量del有两种方式
max(item)返回容器中元素最大值如果是字典,只针对key比较
min(item)返回容器中元素最小值如果是字典,只针对key比较
string.swapcase()翻转string中的大小写

注意

  • 字符串大小:“0”< “A”< "a
5.2 切片
描述Python表达式结果支持的数据类型
切片“0123456789”[:-2]“97531”字符串、列表、元组
  • 切片使用索引值来限定范围,从一个大的字符串中切出小的字符串
  • 列表和元组都是有序的集合,都能够通过索引值获取到对应的数据
  • 字典是一个无序的集合,是使用键值对保存数据

#5.3 运算符

运算符Python表达式结果描述支持的数据类型
+[1,2]+[3,4][1,2,3,4]合并字符串、列表、元组
*[“Hi!”]*4[‘Hi!’; 'Hi!; 'Hi!;‘Hi!’]重复字符串、列表、元组
in3 in (1,2,3)True元素是否存在字符串、列表、元组、字典
not in4 not in (1,2,3)True元素是否不存在字符串、列表、元组、字典
> >= == < <=(1,2,3)<(2,2,3)True元素比较字符串、列表、元组

注意

  • in在对字典操作时,判断的是字典的键
  • innot in被称为成员运算符
转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1038246.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号