Python和C语言的语法区别(二)
1. 在python中,如果循环体中不需要使用到自定义的变量,可以将自定义的变量定义为“_”。如:
# Function:Python例程# Author:老学长谈技术# Date:2021/1/25 22:17for _ in range(3): print('我爱Python!')
这句代码将会输出三次:我爱python!
2. 在python中也可以使用break来结束条件判断和循环结构。但是与C语言不同的是:在python中,while…else语句是合法的,并且可以用break来进行流程控制。同理,continue也是一样的使用方法。如:
# Function:Python例程# Author:老学长谈技术# Date:2021/1/25 22:20print('----演示一个while循环代码---')i=0while i<3: '''条件循环体''' pwd=input('请输入密码:') if pwd=='123456': break else: print('密码不正确!') i+=1else: print('您的输入次数已经使用完!')运行结果:C:\Users\dell\PycharmProjects\pythonProject\venv\Scripts\python.exe 'E:/Code_Debug/OneDrive - 365vip.plus/Study/Python/pythonProject/Day1/Demo2.py'----演示一个while循环代码---请输入密码:111密码不正确!请输入密码:111密码不正确!请输入密码:11密码不正确!您的输入次数已经使用完!
3. else语句与C语言中的使用方法除了能跟while一起用用以外还能跟for一起用。以下是它的三种情况:
else
if.....else:if条件表达式不成立时执行else
while....else和for...else:没有碰到break时执行到else。
对while的代码进行改造:
print('----改造while代码---')for item in range(3): pwd = input('请输入密码:') if pwd=='123456': break else: print('您输入的密码不正确!')else: print('您的输入次数已经使用完!')运行结果:----改造while代码---请输入密码:您输入的密码不正确!请输入密码:111您输入的密码不正确!请输入密码:123您输入的密码不正确!您的输入次数已经使用完!
列表实际上不是Python的首创,在C++和Java中均存在列表。因为三者之间都有一个共同点,那就是都是面向对象的语言,但是三者之间各有优势。
在python中,列表相当于是一个容器,它可以装很多的元素,并且元素的类型可以不尽相同。它相当于C语言中的数组的概念。在C语言中不存在列表。
列表的操作:
(1) 列表的创建:
- 使用中括号创建
- 使用内置函数list()函数进行创建
注意:在list()内进行使用时,需要加方括号,否则报错。
# Function:Python例程# Author:老学长谈技术# Date:2021/1/25 22:52#创建列表Lst1=[1,2,'hello','python']Lst2=list([1,2,'hello','python'])print('Lst1:',Lst1)print('Lst2:',Lst2)
(2) 列表的查询
Index()函数:
- 如果列表中存在N个相同的元素,只返回相同的元素中的第一个元素的索引。
- 如果查询的元素在列表中不存在,则会抛出ValueError异常。
- 还可以在指定的start和Stop中进行查找。
获取列表中的单个元素:
- 正向索引到列表中的0到N-1个元素。 如:lst[0]
- 逆向索引从-N到-1. 如lst[-N]
- 指定的索引不存在,则抛出IndexError异常
# Function:Python例程# Author:老学长谈技术# Date:2021/1/25 22:52#创建列表Lst1=[1,2,'hello','python']Lst2=list([1,2,'hello','python'])print('Lst1:',Lst1)print('Lst2:',Lst2)print(Lst1.index(1,1,3))Traceback (most recent call last): File 'E:\Code_Debug\OneDrive - 365vip.plus\Study\Python\pythonProject\Day1\demo3.py', line 13, in <module> print(Lst1.index(1,1,3))ValueError: 1 is not in listProcess finished with exit code 1
- 列表的切片:语法格式 列表名[start:stop:step]。切片的结果是对原列表中的片段进行拷贝。
- 可以用 in 或者not in 进行判断元素是否在列表中。
- 或者用遍历的方式进行查询
(3) 列表元素的增加
方法:
- append()函数:在列表的末尾添加一个元素。
- extend()函数:在列表的末尾添加多个元素。
- inser()函数:在列表的任意位置添加一个元素。
- 切片:在列表的任意位置添加多个元素。
(4) 列表元素的删除
方法:
- remove()函数:一次删除一个元素;重复的元素只删除第一个元素。元素不存在时会抛出一个ValueError异常。
- pop()函数:删除一个指定位置上的元素;指定索引不存在时,会抛出一个IndexError异常,不指定索引时会删除列表的最后一个元素。
- 切片:删除多个元素。
- clear()函数:清空列表
- del:删除列表。
(5) 列表元素的修改
- 为指定的索引的元素赋予一个新值。
- 为指定的切片赋予一个新的值。
(6) 列表元素的排序
元素的排序一般有两种方式,分别是:
- 调用sort()函数进行排序。默认是从小到大排序。可以通过sort(revers=true)来进行翻转。
- 调用内置函数sorted()函数进行排序,默认是从大到小排序。可以通过sort(revers=true)来进行翻转。
(7) 列表元素的生成公式
语法格式:[i*i for i in range(1,10)]。其中:i*i表示的是列表元素的表达式。I是自定义变量,range(1,10)是可迭代变量。
注意:表示列表元素的表达式中通常包括了自定义变量。
列表的特点:
(1) 列表元素按照顺序有序进行排列。
(2) 索引对应的是唯一 一个元素。
(3) 列表内可以重复存储数据,但是在查询时只会查询出第一个。
(4) 任意数据类型混存。
(5) 它是根据需要动态分配和回收内存的。
文章中的代码只演示了一部分~,喜欢的话可以自己尝试一下哦 ~ 。
后续将持续更新,喜欢请转发关注多交流哦~