Python基础之公共方法
公共方法:就是列表,元组,字典,字符串能共同使用的方法;
Python内置函数
内置函数罗列
| 函数 | 描述 | 备注 |
|---|---|---|
| len(item) | 计算容器中的元素个数 | |
| del(item) | 删除变量 | del有两种方法 |
| max(item) | 返回容器中元素最大值 | 如果是字典,只针对key比较 |
| min(item) | 返回容器中元素最小值 | 如果是字典,只针对key比较 |
| cmp(item1,item2) | 比较两个值,-1小于/0等于/1大于 | python3取消了cmp函数 |
注意:字符串具有以下规则:"0"<"A"<"a"
内置函数使用
len() 计算容器中元素的个数;
del 用关键字和函数两种方式,两种方式结果一样;del 变量;del(变量);
list = [1, 2,4]
del list[1]
list
[1, 4]
del(list[0])
list
[4]
del(list)
# 删除列表后,会报错,未定义
max和min函数
test_str = "qeqfeijovodmbahidkolmc"
max(test_str)
'v'
min(test_str)
'a'
# 如果是字典,只针对key比较
test_list = [3, 9, 0, 1]
max(test_list)
9
min(test_list)
tset_dict = {"a": "3", "b": "1", "c": "2"}
max(tset_dict)
'c'
min(tset_dict)
'a'
python3中取消了cmp比较运算符,但我们可以直接通过比较运算符<>进行比较;
数字可以比较,字符串可以比较,元组,列表可以比较大小,但字典不能比较大小
切片
- 切片使用索引值来限定范围,从一个大的字符串中切出小的字符串;
- 字符串,列表,元组可以进行切片,因为它们有序;但字典不能进行切片,因为字典无序;
切片示例如下:
t_list = [3,1,2,5,7]
t_list[0:3]
[3, 1, 2]
t_tuple = (1,2,3,4,5)
t_tuple[0:3]
(1, 2, 3)
运算符
运算符罗列
| 运算符 | Python表达式 | 结果 | 描述 | 支持的数据类型 |
|---|---|---|---|---|
| + | [1,2]+[3,4] | [1,2,3,4] | 合并 | 字符串,列表,元组 |
| * | ["hi"]*4 | ["hi","hi","hi","hi"] | 重复 | 字符串,列表,元组 |
| in | 3 in (1,2,3) | True | 元素是否存在 | 字符串,列表,元组,字典 |
| not in | 4 not in(1,2,3) | True | 元素是否不存在 | 字符串,列表,元组,字典 |
| > >= == < <= | (1,2,3)<(2,2,3) | TRue | 元素比较 | 字符串,列表,元组 |
- in在对字典操作时,判断的是字典的键
- in和not in被称为成员运算符
运算符的使用
*可以用于列表元组,但不能用于字典,因为字典的key必须是惟一的;
[1,2]*5
[1, 2, 1, 2, 1, 2, 1, 2, 1, 2]
(1,2)*5
(1, 2, 1, 2, 1, 2, 1, 2, 1, 2)
+运算符表示合并,可以用于列表,元组,字符串合并;不同类型之间不能合并,比如元组与列表;
"hello" + "world"
'helloworld'
(1,2) + (3,4)
(1, 2, 3, 4)
[1,2] + [3,4]
[1, 2, 3, 4]
注意,当我们用+合并列表时,是生成一个新列表
append和extend方法的区别:extend会将一个指定的列表参数合并到列表中,即分散的加入;而append会将一个指定的列表当成一个整体的元素合并到列表中;
用append和extend是在原列表上扩展元素。
in和not in的使用
- 包含和不包含;
- 可以用于字符串,列表,元组,字典;但应注意在字典中,in只针对于字典的key做检查。
in和not in的使用如下:
"a" in "asdfg"
True
"a" not in "asdfg"
False
2 in (1,2,3,4)
True
2 not in [1,2,3,4]
False
"name" in {"name": "zhangsan"}
True
"zhangsan" in {"name": "zhangsan"}
False
完整的for循环
完整的for循环语法
for xx in 集合:
xxx
else:
xxx
这就是完整的for循环的语法结构;
- 只要for循环不被break打断,else中的代码就会在for循环结束后执行;
- 如果for循环被打断,就会直接执行for循环外部的后续代码
完整的for循环演示
students = [{"name": "韩信"}, {"name": "李白"}, {"name": "刘备"}]
for stu in students:
print(stu)
else:
print("我是for循环遍历结束后的else语句")
print("for循环结束了")
# {'name': '韩信'}
# {'name': '李白'}
# {'name': '刘备'}
# 我是for循环遍历结束后的else语句
# for循环结束了
break打断for循环演示
students = [{"name": "韩信"}, {"name": "李白"}, {"name": "刘备"}]
for stu in students:
print(stu)
if stu["name"] == "李白":
print("李白,你妈妈喊你回家吃饭了")
break
else:
print("我是for循环遍历结束后的else语句")
print("for循环结束了")
# {'name': '韩信'}
# {'name': '李白'}
# 李白,你妈妈喊你回家吃饭了
# for循环结束了
for else的应用场景
- 在迭代遍历嵌套的数据类型时,例如一个列表包含了多个字典
需求:需要判断某一个字典中 是否存在指定的值
如果存在,提示并且退出循环
如果不存在,在循环整体结束后,希望得到一个统一的提示
找到了的情况
students = [{"name": "韩信"}, {"name": "李白"}, {"name": "刘备"}]
find_stu = "李白"
for stu in students:
print("正在查找...", stu["name"])
if stu["name"] == find_stu:
print("%s,你妈妈喊你回家吃饭了" % find_stu)
break
else:
print("不好意思,你家%s没在这个班" % find_stu)
print("for循环结束了")
# 正在查找... 韩信
# 正在查找... 李白
# 李白,你妈妈喊你回家吃饭了
# for循环结束了
没找到的情况
students = [{"name": "韩信"}, {"name": "李白"}, {"name": "刘备"}]
find_stu = "张飞"
for stu in students:
print("正在查找...", stu["name"])
if stu["name"] == find_stu:
print("%s,你妈妈喊你回家吃饭了" % find_stu)
break
else:
print("不好意思,你家%s没在这个班" % find_stu)
print("for循环结束了")
# 正在查找... 韩信
# 正在查找... 李白
# 正在查找... 刘备
# 不好意思,你家张飞没在这个班
# for循环结束了
Python基础之公共方法的更多相关文章
- Python基础学习----公共方法及运算符
# 公共方法:在python高级数据类型通用的方法 # 常见的:max() min() len() del() # 列表 list=[1,2,3] print(len(list)) print(min ...
- Python 入门之Python基础数据类型及其方法
Python 入门之Python基础数据类型 1. 整型:int 用于计算,用于比较 (在赋值的时候先执行等号右边的内容) 1.1 整数的加 a = 10 b = 20 print(a + b) 结果 ...
- python基础函数、方法
python的函数和方法,通过def 定义: 函数的特性: 减少重复代码 使程序变的可扩展 使程序变得易维护 函数和方法的区别:函数有返回值.方法没有 语法定义: def sayhi():#函数名 p ...
- python基础之魔法方法
由于hexo自带的markdown渲染引擎对双下划线做了转义,在正文中看到的魔法方法前后都没有双下划线 setattr.getattr.delattr 可以拦截对对象属性的访问 setattr函数是用 ...
- 【python基础】字符串方法汇总
一.声明 0-多个字符组成的有序序列; 二.特点 1. 字符串是一个不可变的数据类型 2.字符串是有序的 三.索引 下标:'abcde' 1.从左到右, 0, 1,2, ... 2.从右到左, 索引值 ...
- python 基础之字符串方法
字符串 print('chenxi'*8) 测试 D:\python\python.exe D:/untitled/dir/for.py chenxichenxichenxichenxichenxic ...
- Python基础——类new方法与单例模式
介绍: new方法是类中魔术方法之一,他的作用是给类实例化开辟一个内存地址,并返回一个实例化,再由__init__对这个实例进行初始化,故它的执行肯定就是在初始化方法__init__之前了.new方法 ...
- Python基础之魔术方法(控制属性的访问和设置)
# 魔术方法--常规方法# 1. __int__ 构造函数# 2. __new__ 在类实例之前就创建了# 3. __iter__ 迭代器# 4. __del__ 析构方法,用来清除释放的对象内存# ...
- python基础操作_方法(函数)
#函数,方法#普通方法def hello(): print('hello')hello()#带形参的方法def hello1(name): print('hello%s'%name)hello1('布 ...
随机推荐
- 对HTML的理解及常用标签使用介绍--来自我的百度前端技术学院的笔记
HTML是什么,HTML5是什么? ——HTML:超文本标记语言,一种用于创建网页的标准标记语言: ——HTML5:目前最新的HTML标准,包含新的元素.属性.行为,基于它们的功能特征将他们分成不同的 ...
- span元素文字自动换行
<span>加上display:inline-block,成功实现了想要的效果.但又有一个问题,纯连续字母和数字不会换行,最后加上word-wrap: break-word强制自动换行搞定 ...
- Vue.js $nextTick
最近在学习vue.js.了解1.x的基础上再学习2.x的vue.两个版本的确是不会像angular这样1.x和2.x相差甚远.所以学习起来其实还是有很大的关联.但是,终归来说.两者还是有语法上的细微差 ...
- PHPCMS V9开发文档
内容模块 内容模块PC标签调用说明 模块名:content 模块提供的可用操作 操作名 说明 lists 内容数据列表 relation 内容相关文章 hits 内容数据点击排行榜 category ...
- iis 发布asp.net mvc 网站时候js css 压缩问题,图片不加载问题
一.JS CSS 自动压缩问题 默认情况下mvc这个框架会把css,js文件压缩成一个js或者css文件,一会发现只有一个<link href="/Content/css?v=ji3n ...
- 解决mysql日志显示时间和“Got an error reading communication packets” 问题
[root@calldb3 data]# tail -f mysql.error :.884160Z to db: 'calldb' user: 'call' host: '172.31.50.220 ...
- 深入浅出SharePoint——Search疑难排除
通过Search log http://richardstk.com/2013/12/23/using-the-sharepoint-2013-search-query-tool-with-searc ...
- 题解 P2920 【[USACO08NOV]时间管理Time Management】
题面 作为一名忙碌的商人,约翰知道必须高效地安排他的时间.他有N工作要 做,比如给奶牛挤奶,清洗牛棚,修理栅栏之类的. 为了高效,列出了所有工作的清单.第i分工作需要T_i单位的时间来完成,而 且必须 ...
- Geometric Search
几何搜索 平衡搜索树(BST)在几何方面的应用,处理的内容变成几何对象,像点,矩形. 1d range search 先来看一维的情况,一维的范围搜索是后面的基础,处理的对象是在一条线上的点.这是符号 ...
- 团队作业8--测试与发布(Beta阶段)
展示博客 一.项目成员: 张慧敏(组长)201421122032 苏晓薇(组员)201421031033 欧阳时康(组员)201421122050 团队仓库: https://git.coding.n ...