当前位置:网站首页>(2) 顺序结构、对象的布尔值、选择结构、循环结构、列表、字典、元组、集合
(2) 顺序结构、对象的布尔值、选择结构、循环结构、列表、字典、元组、集合
2022-08-02 03:24:00 【隐身的菜鸟】
目录
顺序结构
程序从上到下顺序地执行代码,中间没有任何的判断和跳转,直到程序结束
对象的布尔值
python一切皆为对象,所有对象都有一个布尔值
获取对象的布尔值,需使用内置函数bool()
以下对象的布尔值为false:
false;数值();none;空字符串;空列表;空元组;空字典;空集合;
print(bool(False)) #False
print(bool(0)) #False
print(bool(0,0)) #False
print(bool(None)) #False
print(bool('')) #False
print(bool("")) #False
print(bool([])) #空列表
print(bool(list())) #空列表
print(bool(())) #空元组
print(bool(tuple())) #空元组
print(bool({})) #空字典
print(bool(dict())) #空字典
选择结构
单分支结构:
if 条件表达式 :
条件执行体
双分支结构:
if 条件表达式 :
条件执行体1
else:
条件执行体2
多分支结构:
if 条件表达式1 :
条件执行体1
elif 条件表达式2 :
条件执行体2
elif 条件表达式N :
条件执行体N
[else:]
条件执行体N+1
嵌套if:
if 条件表达式1 :
if 内层条件表达式 ;
内层条件执行体1
else:
内层条件执行体2
else:
条件执行体
pass语句:
语句什么也不做,只是一个占位符,用在语法上需要语句的地方
(用在不知道写什么代码的时候,使语句不报错)
在哪些地方用:if的条件执行体;for -in的循环体;定义函数时的函数体
循环结构
range()函数:
用于生成一个整数序列
优点:不管range对象表示的整数序列有多长,所有range对象占用的内存空间都是相同的,因为仅仅需要存储start、stop、step,只有当用到range对象时,才会去计算序列中的相关元素。
while循环:
while 条件表达式:
条件执行体(循环体)
#选择结构if与循环结构while的区别:
if是判断一次,条件为ture执行一次
while是判断n+1次,条件为ture执行n次
for-in循环:
in,表达从(字符串、序列等)中依次取值,又称遍历
for-in遍历的对象必须是可迭代对象
for 自定义的变量 in 可迭代对象:
循环体
#循环体内不需要访问自定义变量。可以将自定义变量替代为下划线
for _ in range(10)
print('python')
break、continue与else语句:
嵌套循环:
外层循环执行一次,内层循环执行完整一轮
列表
变量可以存储一个元素,而列表是一个大容器,可以存储N多个元素,程序可以方便对这些数据进行整体操作。(列表相当于其他语言里的数组)
列表特点:
创建列表:
#第一种方法,创建列表,使用[]
lst=['hello','world',123]
#第一种方法,创建列表,使用内置函数list()
lst=list(['hello','world',123])
列表查询:
列表元素增加:
列表元素删除:
列表元素修改:
1.为指定索引的元素赋予一个新值 lst[2]=123
2.为指定的切片赋予一个新值 lst[1:3]=[12,13,14,15]
列表元素排序:
1.方法sort()
调用sort(),列表中所有元素默认升序,可以指定reverse进行降序升序
#通过指定关键字参数,将列表中的元素进行排序
lst.sort() #默认升序
lst.sort(reverse=Ture) #reverse=Ture 表示降序排序
lst.sort(reverse=False) #reverse=False 表示升序排序
2.内置函数sorted()
调用内置函数sorted(),可以指定reverse=Ture,进行降序排序,原列表不发生改变
new_list=sorted(lst) #默认为升序
desc_list=sorted(lst,reverse=Ture) #降序排列
列表生成式:
生成列表的公式
字典
以键值对的方式存储数据,字典是一个无序的序列(与列表一样都是可变序列)
字典的实现原理与查字典类似,python中字典是根据key(hash)查找value所在位置
字典特点:
•字典中的所有元素都是一个 key-value对,key不允许重复, value可以重复
•字典中的元素是无序的
•字典中的key必须是不可变对象
•字典也可以根据需要动态地伸缩
•字典会浪费较大的内存,是一种使用空间换时间的数据结构
创建字典:
#第一种,使用花括号{}
scores={'小明':98,'小米':87,'小白':86}
#第二种,使用内置函数dict()
dict(name='alan',age=20)
获取字典元素:
字典常用操作:
字典生成式:
内置函数zip():
用于将可迭代的对象作为参数,将对象中对应元素打包成一个元组,然后返回由这些元组组成的列表
name=['小明','小米','小白']
age=[16,18,20]
lst=zip(name,age)
print(list(lst))
元组
python内置的数据结构之一,是一个不可变序列
不可变序列与可变序列:
不可变序列:字符串、元组 (没有增、删、改的操作)
可变序列:列表、字典 (可以对序列执行增删改操作,对象地址不发生更改)
元组常用操作:
注意事项:元组中存储的是对象的引用
1.如果元组中的对象本身是不可变对象,则不能再引用其他对象
2.如果元组中的对象的可变对象,则可变对象的引用不允许改变,但数据可以改变
集合
python语言提供的内置数据结构,与列表、字典一样都属于可变类型的序列
集合是没有value的字典
集合常用操作:
集合间的关系:
1.两个集合是否相等
使用运算符==或!=判断 s1!=s2
2.一个集合是否是另一个集合的子集
调用issubset进行判断 s1.issubset(s2)
3.一个集合是否是另一个集合的超集
调用issuperset进行判断 s1.issuperset(s2)
4.两个集合是否没有交集
调用isdisjoint进行判断 s1.isdisjoint(s2)
列表、字典、元组、集合总结
边栏推荐
猜你喜欢
4. The form with the input
Phpstudy installs Thinkphp6 (problem + solution)
Small program van-cell line wrapping can be left-aligned
12. What is JS
[league/climate]一个功能健全的命令行功能操作库
js 原型和原型链
稳定好用的短连接生成平台,支持API批量生成
PHP8.2 version release administrator and release plan
SQL classification, DQL (Data Query Language), and corresponding SQL query statement demonstration
ES6介绍+定义变量+不同情况下箭头函数的this指向
随机推荐
4.表单与输入
PHP的几个有趣的打开方式:从基本到变态
2.PHP变量、输出、EOF、条件语句
1. Beginning with PHP
vim edit mode
17.JS条件语句和循环,以及数据类型转换
vim编辑模式
每日五道面试题总结 22/7/19
IO流、 编码表、 字符流、 字符缓冲流
[symfony/finder]最好用的文件操作库
[campo/random-user-agent]随机伪造你的User-Agent
线程池(线程池介绍与使用)
ES6数组的扩展方法map、filter、reduce、fill和数组遍历for…in for…of arr.forEach
(6) 学生信息管理系统设计
Several interesting ways to open PHP: from basic to perverted
(2) Thinkphp6 template engine ** tag
12.什么是JS
正则笔记(2)- 正则表达式位置匹配攻略
3. PHP data types, constants, strings and operators
SQL:DDL、DML、DQL、DCL相应介绍以及演示