王亟亟的Python学习之路(四)-循环,条件,Range,list和tuple

简介:

转载请注明出处:王亟亟的大牛之路

这是本次Python学习历程的第4篇,之前的文章:传送门

这篇主要讲以下几个知识点
- 循环
- 条件语句
- range函数
- list
- tuple


循环

Python中的循环语句有 for 和 while。同样需要注意冒号和缩进。另外,在Python中没有do..while循环。

需要注意冒号和缩进,因为没有{}来帮助我们把循环里面的内容封起来

while循环

while 判断逻辑:
   业务内容

或者for…in循环

names = ['12',12, 'aa']
for name in names:
    print(name)

条件判断

也就是我们常说的如果怎么怎么样,否则怎么怎么样,或者怎么怎么样。

在Python中没有switch – case语句。
每个条件后面要使用冒号(:)
使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。

诸如:

flag=True
if flag==True:
    print('第41行if判断',flag)
else:
    print('第43行 if判断',flag)

或者

x=True
if x:
    print('True')

还有

age=10
if age<10:
    print(age,"<10  第47行if判断")
elif age<20:
    print(age,"<20  第49行elif判断")
else:
    print("年纪奇怪 第51行 else判断")

Range函数

如果你需要遍历数字序列,可以使用内置range()函数。它会生成数列类似于Java中的以下操作

public ArrayList<String> makedata(int value){
        ArrayList<String> list=new ArrayList<String>();
                for(int k=0;k<value;k++){
                    list.add(k+" ");
                }
        return list;
    }

而在Python中,这么一个循环操作只需要

range(100)

可以使range以指定数字开始并指定不同的增量

 for i in range(0, 10, 3) :
    print(i)

显示结果:   
0
3
6
9

range()还可以创建列表

 list(range(5))
[0, 1, 2, 3, 4]

list

list在上一篇文章已经做了比较详细的介绍,这一部分是在上一篇的基础上做一定的丰富

用索引来访问list中每一个位置的元素,记得索引是从0开始的:

list=['a',123,'ssa:s']
print(list[0])
打印结果:
'a'

list是可以顺序添加的

list.append(1)
print('第9行',list)

结果:
['a', 123, 'ssa:s', 1]

list可以从中插入

list.insert(0,'sqca')
print('第12行',list)

打印结果:
 ['sqca', 'a', 123, 'ssa:s', 1]

删除指定元素

list.pop(0)
#本来的列表: ['sqca', 'a', 123, 'ssa:s', 1]
结果:
['a', 123, 'ssa:s']

list是可以进行元素置换的

list[1]="王亟亟"
结果:
['a', '王亟亟', 'ssa:s']

tuple

tuple在上一篇文章已经做了比较详细的介绍,这一部分是在上一篇的基础上做一定的丰富

疑问,有了list为何需要tuple?

安全,安全,安全 重要的是说三遍。

如何定义只有一个元素的元祖?

这样吗?
myTuple=(1)  

并不是,是这样
myTuple=('aa',)
结果为:
('aa',)

tuple是不可二次修改的,那有办法让他再变化吗?
答案是,有。我们看个例子

a=[33,44]
pp="你好"
changeTuple=(a,2,3,pp)
print(changeTuple)
pp="你好啊"
print(changeTuple)
changeTuple[0][0]=55
changeTuple[0][1]=66
#变了是因为元素中列表的指针发生了变化,元组只是指向了那个元素的地址
print(changeTuple)

输出的结果是:

([33, 44], 2, 3, '你好')
([33, 44], 2, 3, '你好')
([55, 66], 2, 3, '你好')

还是产生了变化,SMG?怎么变了?

*tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向’a’,就不能改成指向’b’,指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!

理解了“指向不变”后,要创建一个内容也不变的tuple怎么做?那就必须保证tuple的每一个元素本身也不能变。*

今天同样也有一份例子代码,相对于现在列出的更为丰富些,还有入门级的99乘法表
这里写图片描述
代码地址:https://github.com/ddwhan0123/PythonExample/blob/master/%E7%A4%BA%E4%BE%8B/l2demo.py

你的鼓励是我的动力,谢谢!
这里写图片描述

目录
相关文章
|
7天前
|
数据挖掘 大数据 数据处理
python--列表list切分(超详细)
通过这些思维导图和分析说明表,您可以更直观地理解Python列表切分的概念、用法和实际应用。希望本文能帮助您更高效地使用Python进行数据处理和分析。
22 14
|
9天前
|
数据挖掘 大数据 数据处理
python--列表list切分(超详细)
通过这些思维导图和分析说明表,您可以更直观地理解Python列表切分的概念、用法和实际应用。希望本文能帮助您更高效地使用Python进行数据处理和分析。
27 10
|
28天前
|
Python
Python中的`range`函数与负增长
在Python中,`range`函数用于生成整数序列,支持正向和负向增长。本文详细介绍了如何使用`range`生成负增长的整数序列,并提供了多个实际应用示例,如反向遍历列表、生成倒计时和计算递减等差数列的和。通过这些示例,读者可以更好地掌握`range`函数的使用方法。
43 5
|
27天前
|
开发工具 Python
[oeasy]python043_自己制作的ascii码表_循环语句_条件语句_缩进_indent
本文介绍了如何使用Python制作ASCII码表,回顾了上一次课程中`print`函数的`end`参数,并通过循环和条件语句实现每8个字符换行的功能。通过调整代码中的缩进,实现了正确的输出格式。最后展示了制作完成的ASCII码表,并预告了下一次课程的内容。
22 2
|
29天前
|
Python
在 Python 中实现各种类型的循环判断
在 Python 中实现各种类型的循环判断
30 2
|
1月前
|
Python
Python 中,循环判断
Python 中,循环判断
48 1
|
2月前
|
测试技术 开发者 Python
在 Python 中创建列表时,应该写 `[]` 还是 `list()`?
在 Python 中,创建列表有两种方法:使用方括号 `[]` 和调用 `list()` 函数。虽然两者都能创建空列表,但 `[]` 更简洁、高效。性能测试显示,`[]` 的创建速度比 `list()` 快约一倍。此外,`list()` 可以接受一个可迭代对象作为参数并将其转换为列表,而 `[]` 则需要逐一列举元素。综上,`[]` 适合创建空列表,`list()` 适合转换可迭代对象。
在 Python 中创建列表时,应该写 `[]` 还是 `list()`?
|
1月前
|
人工智能 Python
[oeasy]python039_for循环_循环遍历_循环变量
本文回顾了上一次的内容,介绍了小写和大写字母的序号范围,并通过 `range` 函数生成了 `for` 循环。重点讲解了 `range(start, stop)` 的使用方法,解释了为什么不会输出 `stop` 值,并通过示例展示了如何遍历小写和大写字母的序号。最后总结了 `range` 函数的结构和 `for` 循环的使用技巧。
32 4
|
2月前
|
Java 索引 Python
【10月更文挑战第19天】「Mac上学Python 30」基础篇11 - 高级循环技巧与应用
本篇将介绍更深入的循环应用与优化方法,重点放在高级技巧和场景实践。我们将讲解enumerate()与zip()的妙用、迭代器与生成器、并发循环以及性能优化技巧。这些内容将帮助您编写更高效、结构更合理的代码。
70 5
|
2月前
|
存储 Python
[oeasy]python038_ range函数_大小写字母的起止范围_start_stop
本文介绍了Python中`range`函数的使用方法及其在生成大小写字母序号范围时的应用。通过示例展示了如何利用`range`和`for`循环输出指定范围内的数字,重点讲解了小写和大写字母对应的ASCII码值范围,并解释了`range`函数的参数(start, stop)以及为何不包括stop值的原因。最后,文章留下了关于为何`range`不包含stop值的问题,留待下一次讨论。
25 1