一、概述
Python 系列其中,主要有 列表 (List)、元组 (Tuple)、字典 (Dictionary)存在。列表是一种用于按顺序组织数据的集合,可以包含任何类型的数据。 列表与元组非常相似,但只能用于读取。 字典是一种由键和值组成的数据结构。 列表、元组和字典都支持添加、删除、修改、获取长度和查找等功能。 这些函数就像一个神奇的盒子,可以执行特定的操作。 在 Python 中 函数它可以拥有参数,并返回一个值。它包含局部变量和全局变量的概念。局部变量只在函数内部有效,而全局变量可以在多个函数中共同使用。

Ⅱ. Python 列表
在Python中 列表为了更好地理解 栈 (Stack), 队列 (Queue), 双向队列 (Deque)我们需要了解这些概念。 实际上,即使没有完全理解这些概念,通过多次使用,也能很快掌握。 仅仅了解堆栈、队列和去重的概念,已经足够了,因此这里只做简要的介绍。 建议您查阅其他更详细的博客或文章,以便更深入地理解。
堆栈 后进派先进先出 (LIFO) 当数据通过结构进入队列时,它会首先堆叠在最上方。在检索或使用数据时,最后进入队列的数据会首先被取出。队列是 先进先出 (FIFO)它与栈结构有所不同,其特点是先进入的数据先出。与线性队列相比,非阻塞队列(非阻塞队列)弥补了线性队列的缺点,在数据进入和退出时 可以根据需要,随意地添加和删除数据。 您可以选择删除最早进入的数据,或者删除最后进入的数据。
在Python中,列表可以用来将各种类型的数据组合在一起,形成一个集合。 举个简单的例子:在学校,一个班级可以包含多名学生。在这种情况下,班级可以被看作是一个容器,而学生则可以被看作是其中的数据。 列表可以…… 索引这种数据是以列表的形式呈现的,类似于学生都有学号的情况。每个数据项都有一个编号,可以清楚地知道它是列表中第几个。
* 需要注意的是,这里的索引编号是从 0 开始,而不是从 1 开始。这与计算机使用 0 和 1 作为底层逻辑来运行程序有关。
在创建列表时
list = []
list = [1, 2, 3, 4]它可以以这种形式生成。 上面的例子,目前还没有数据,是一个空的列表。 下面的例子,是一个包含四个数字的列表,第一个数据索引为0,值为1,第二个值为1,第二个值为2。 ··· таким образом,索引号和数据可以一一对应。 列表可以有多种形式
如果您参考之前的帖子,可以发现,基本上,所有的数据类型,包括整数、浮点数、字符串和布尔值,都可以通过列表来表示。
※ Python 的一个独特之处在于,除了基本数据类型之外, 无论是列表还是后续学习的元组、字典,都可以视为列表中的一个数据。您可以参与其中!
我们可以将所有数据类型都转换为列表,然后通过使用索引号直接调用或使用循环来访问这些列表中的数据。
list = [1, 2, 3, 4]
print(list[0])
결과 출력 ==> 1
for i in list :
print(i, "", end="")
결과 출력 ==> 1 2 3 4※ 此外,Python 还有一些独特的特点 在列表中添加加法和乘法运算它可以实现以下功能: * 将两个列表相加,或将一个列表乘以一个数字,从而创建包含重复数据的列表。
list1 = [1, 2, 3]
list2 = [4, 5, 6]
print(list1 + list2)
결과 출력 ==> [1, 2, 3, 4, 5, 6]
print(list1 * 2)
결과 출력 ==> [1, 2, 3, 1, 2, 3]列表中的数据 修改在进行索引操作时,也可以利用索引编号来实现。
list = ['a', 'b', 'c']
list[1] = 'd'
print(list)
결과 출력 ==> ['a', 'd', 'c']
list[2:3] = ['e', 'f']
print(list)
결과 출력 ==> ['a', 'd', 'e', 'f']Python 是一种特殊之处在于,它可以只使用一个索引号,也可以指定一个范围。在上面的例子中,前面的数字表示从哪个数据开始。 初始值以及后面的数字是 到哪一组数据 表示该值。与 `range()` 函数的工作原理相同。如果未指定起始值,则默认为第一个数据,如果要以相反的顺序指定数据,则使用 -1, -2。 ··· 可以利用这些功能。
该列表包含添加、删除、修改数量、排序、反向排列和复制数据的函数。
list = [1, 2, 3]
list.append(10)
print(list)
결과 출력 ==> [1, 2, 3, 10]
list.insert(1, 20)
print(list)
결과 출력 ==> [1, 20, 2, 3, 10]这两个函数的功能是向列表添加数据。 追加()在这种情况下,数据会添加到列表的末尾。 插入()在这种情况下,它会接收两个参数:第一个参数是指定数据的存储位置,第二个参数是数据本身。
list = [1, 2, 3, 4, 5]
del(list[0])
print(list)
결과 출력 ==> [2, 3, 4, 5]
del(list) ==> 리스트를 통째로 없앰
list = [1, 2, 3]
list.remove(2)
print(list)
결과 출력 ==> [1, 3]
list = [1, 2, 3]
list.pop()
3
print(list)
결과 출력 ==> [1, 2]删除()鸡蛋 删除()`del()` 函数可以删除列表中的特定数据或整个列表。而 `remove()` 函数只能删除列表中的特定数据,如果列表中存在重复的数据,只会删除其中一个。 pop() 对于函数,它会返回列表中的最后一个数据,并删除该数据。
count() 这个函数很简单,只需提供输入数据,它就能告诉你找到的数据有多少个。 `count(要查找的值)`可以使用。
list = [1, 4, 2, 5, 3]
list.sort()
print(list)
결과 출력 ==> [1, 2, 3, 4, 5]当您需要对未按顺序排列的列表进行排序时。 sort() 使用排序函数。 默认情况下,按照升序排列。 如果传入 `sort(reverse=True)`,则按照降序排列。
※ 实际上,在学习过程中 排序算法你可以获得实现这些功能的任务。 这是一个非常具有挑战性的任务,但也能带来帮助。 不同的排序方式各有特点,例如冒泡排序和快速排序等,它们在排序所需的时间上有所不同。 建议您尝试通过学习和实践,运用条件语句和循环,自行设计算法。
list = [20, 10, 40, 50, 30]
list.reverse()
print(list)
결과 출력 ==> [30, 50, 40, 10, 20]
list = [1, 2, 3]
copyList = list.copy()
print(copyList)
결과 출력 ==> [1, 2, 3]反转() 这个函数会将列表中的数据从后往前反向排列。 复制() 函数会将列表复制成一个新的列表。 就像示例中所示,可以将新复制的列表存储在一个新的变量中。
※ 复制列表时需要了解的重要概念: 浅拷贝哇 深度复制存在两种方法:浅拷贝和深拷贝。浅拷贝只是复制原有列表的地址值,因此如果复制的新列表或原有列表发生更改,它们也会同时发生更改。而深拷贝则会将原有列表的实际数据复制到新的内存空间,因此不会受到数据更改的影响。
如果已经理解了列表的概念, 二维列表这部分信息对您有帮助。
list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]这种结构需要使用嵌套循环来利用这个列表。 它可以用于多种用途,但建议多加练习,因为它是一个比较复杂的概念。 要访问二维列表中的特定数据,需要使用两个索引,例如“list[0][1] = 2”来访问。 为了更好地理解二维列表 数学中的矩阵了解这些知识会很有帮助。 并且,掌握二维列表的使用方法也会很有益。 《俄罗斯方块》 也可以制作类似的游戏。 建议您首先查阅相关书籍或博客,充分了解后再尝试制作。 考虑到游戏初期难度较高。
Ⅲ. Python 元组
元组 (Tuple)无法在列表中进行添加。 仅用于阅读的列表这很容易理解。 此外,其他特性与列表中使用的功能相同。 删除() 只能进行函数操作,无法单独删除单个数据,只能在删除整个列表时才能实现。之后… 常数了解这些概念是有帮助的。 “最初,被分配给变量的值保持不变,这就像一个常量。”可以将元组理解为一种常量列表。
tuple1 = (1, 2, 3)
tuple2 = 1, 2, 3
tuple3 = (10,)
tuple4 = 10,元组在创建时,需要指定要包含的数据。这些数据是固定的,不会改变,与列表不同的是,它们在创建后会保持不变。 ()括号使用该功能。列表是 “[ ]” 方括号使用这种方法。为了创建一个只包含一个数据的元组,请参考上面的示例,在数据后面添加 (逗号)需要添加这些操作符。 类似于列表,元组也可以通过索引来访问,并且支持加法和乘法运算!
※ 此外,还有一些函数可以互相转换,用于列表和元组。这些函数可以将列表转换为元组,也可以将元组转换为列表。如果您想将列表转换为元组,可以使用这些函数。 (元组)列表当您想将数据转换为元组时, 元组 (tuple) 按照这种方式使用即可。
Ⅳ. Python 字典
词典可以把它想象成一个“英语词典”,其中两个键值对构成一个数据,一个作为键(Key),另一个作为值(Value)。
dict = {'a':1, 'b':2, 'c':3}
dict = {1:'a', 2:'b', 3:'c'}如上所述,在创建字典时 “{}” 这种括号可以使用这种方法。 它可以处理任何类型的数据。 但是,键位不能重复。 而且,与列表不同 顺序没有。
dict = {1:'a', 2:'b'}
print(dict[1])
출력 결과 ==> a列表通过索引号来访问数据,而字典则... 访问キロ数据如上所示,在方括号内输入键,即可获得相应的对应值。在向字典中添加数据时 'dict[键] = 值'可以将它们作为键值对进行插入,但如果重复插入相同的键,则之前的值会被覆盖,新的值将被替换。在添加时,必须始终以键值对的形式进行插入,就像列表一样。 删除() 可以使用函数进行删除。
dict = {'가수':'트와이스', '인기곡':'Cheer Up!', '데뷰':'서바이벌 식스틴'}
print(dict.keys())
결과 출력 ==> ['가수', '인기곡', '데뷰']
print(dict.values())
결과 출력 ==> ['트와이스', 'Cheer Up!', '서바이벌 식스틴']
print(dict.items())
결과 출력 ==> [('가수', '트와이스'), ('인기곡', 'Cheer Up!'), ('데뷰', '서바이벌 식스틴')]在字典中,这些函数非常实用。 keys(), values(), items()`keys()` 函数返回一个包含字典所有键的列表。`values()` 函数返回一个包含字典所有值的列表,而 `items()` 函数返回一个包含键和值的元组列表。(这种形式类似于二维列表!)我们将带来。
※ 在文中已出现 在这是一种可以应用于条件语句、循环语句等,但与“in”相反的用法。 不在例如,可以使用 `in` 运算符来检查某个数据是否存在于列表、元组、字典或 `range()` 函数生成的集合中。 `not in` 运算符则与 `in` 运算符相反,用于检查某个数据是否不存在于这些集合中。
Ⅴ. Python 函数
[SK쉴더斯 SeSAC 东城分校] 编程语言和 Python (变量、运算符、数据类型)
正如之前帖子中简要提到的,函数可以接收参数,并在执行特定操作后... 返回这种结构的设计就是为了让用户在完成特定操作后,获得相应的报酬。 我们可以用自动售货机作为例子,用户投入硬币后,就能获得饮料,这样就很容易理解。
def func1() :
동작 구조
def func2() :
동작 구조
return 값这种方式定义函数,主要分为: 当返回值为空的情况,以及返回值不为空的情况。那里有。 当返回值为非空时 可以将特定变量的值赋给它,然后将其作为参数传递给其他函数,或进行各种运算。 当没有返回值时该函数在执行完毕后会终止,它是最先接触到的一个典型函数。 打印() 这些函数都很有用。例如,`print()`, `len()`, `count()` 等是 Python 的常用内置函数,但在实际编程中... 用户自定义函数这会导致每个用户拥有不同的函数,从而产生非常多样化的函数执行结构。
函数 参数它可以接收数据并执行操作,也可以不接收数据而执行操作。它会接收并处理传入的参数,然后返回处理后的结果。
def add(x, y) :
result = 0
result = x + y
return result这种结构是基本的设计方式,如上所示 “加法”这是一个执行特定功能的函数。
※ 如果学习到函数, 编写程序这使得代码可能会变得非常冗长。为了帮助您编写程序,我希望分享一些编写程序结构的建议。 “1. 首先是函数定义部分。 2. 接着是全局变量的声明部分。 3. 接下来是程序的核心逻辑(主)代码部分。” 接下来,我们将详细解释全局变量,并通过注释说明其工作原理以及具体含义,这将有助于理解代码。虽然不必严格遵循这种结构,但为了方便后续维护,尤其是在编写几百甚至几千行的代码时,建议提前练习这种结构和编写注释。
为了让学习更有趣,我设置了一个任务。以下示例是在尝试解决任务的过程中,思考了各种例外情况和结构而编写的。正如我之前所说,函数的运行方式可能非常多样,因此以下示例并非标准答案。 希望大家能编写出更好的代码!
任务:使用函数实现计算器功能
# 더하기
def add(x,y) :
return x + y
# 빼기
def sub(x,y) :
return x - y
# 곱하기
def multi(x,y) :
return x * y
# 나누기
def div(x,y) :
return x / y
# 입력
def inputNumber() :
num = 0
while True :
num = input("숫자 입력 : ")
if not(num.isdigit()) :
print("숫자를 입력해주세요.")
continue
else :
break
return int(num)
# 계산입력
def inputSign() :
sign = ''
while True :
sign = input("계산 입력 ( +, -, *, / ) : ")
if sign not in ('+', '-', '*', '/') :
print("제대로 된 계산을 입력해주세요.")
else :
break
return sign
def control() :
sign = inputSign()
x = inputNumber()
y = inputNumber()
mark = {"+":add(x,y), "-":sub(x,y), "*":multi(x,y), "/":div(x,y)}
result = mark[sign]
print(f"## 계산기 : {x} {sign} {y} = {result}")
def main() :
while True :
print("계산기 작동")
exit = int(input("진행1, 종료2 : "))
if exit == 2 :
break
control()
main()在函数参数方面,Python 具有一些独特的特点。 无论使用哪种编程语言,参数的数量都是一样的,但在 Python 中…… 参数的默认值可以指定。
def add(x, y, z = 0) :
result = 0
result = x + y + z
return result
print(add(4, 5))
결과 출력 ==> 9如果原始函数被指定为接受三个参数,则必须提供三个数据;但如果像示例中那样,其中一个参数被指定了默认值, 即使只输入两个数据,该函数也能正常运行。需要注意的是,在处理参数时,在调用函数时, “这表示执行该函数。” 必须根据函数的参数数量,准确地将数据输入其中。如果函数的设计包含参数数量不同的逻辑(即不同的执行结构),则需要创建单独的函数。
※ 变量的数据类型可以是任何类型!
def func1(x, y) :
result = x + y
return result
def func2(x, y) :
result1 = x + y
result2 = x - y
return result1, result2
sum, sub = func2()如上所述,Python 函数的一个特点是能够执行特定的操作。 可能存在返回多个数据的可能性。`func1()` 函数是一个基本的“加法”函数,而 `func2()` 函数接收相同的数据,但它可以执行“加法”和“减法”两种操作。当然,如果返回值的数量超过 1,那么接收数据的变量也需要相应地增加。
def myFunc() :
pass
if True :
pass函数或条件语句,以及后续可使用的关键词,都可以在稍后使用的类中使用。 “通过”其含义是,在程序设计阶段,先声明需要使用的类或函数,然后在后续阶段进行定义。 也可以用注释来记录,但这种方法在保留整体逻辑的同时,在根据工作或功能需求进行分配时也非常有用。
※ 函数也会被分配到内存空间。它们具有地址,通常在返回时,函数会被结束,同时从内存空间中移除。虽然在简单的程序中可能不需要特别关注,但在大型程序中,为了编写更好的代码,建议思考函数的角色和工作方式。尤其是在循环、递归函数等情况下,由于内存泄漏,可能会导致程序出错或崩溃。
在函数中,最后需要了解的概念是: 全局变量哇 区域变量是。
def func1() :
a = 10
print(a)
def func2() :
print(a)
a = 20
func1()
func2()通过以上代码可以看出,它们都输出相同的变量 a。然而,在 func1() 函数中,变量 a 已经被定义,但在 func2() 函数中,变量 a 并没有被定义。 在这种情况下,如果同时调用这两个函数,变量 a 会输出什么?
func1()
출력 결과 ==> a = 10
func2()
출력 결과 ==> a = 20结果如下:函数 func1() 在其内部声明和定义了名为 a 的变量,并调用它;而函数 func2() 则引用全局变量 a。 在函数内部声明和定义的变量是局部变量。并且,有多个函数 一个通用的共享变量是。 那么,为什么 func1() 函数没有引用全局变量 a?
这个答案是,局部变量优于全局变量。 首先这是因为函数需要内存空间。正如前面提到的,函数也会被分配内存空间。在分配的内存空间中,函数会执行其内部的功能,其中包含变量 a。因此,可以直接调用自己的局部变量。但是,对于 func2() 函数,其分配的内存空间中并没有变量 a。然而,代码要求调用变量 a,因此会在可访问的范围内找到变量 a。最终,可以输出全局变量 a。
※ 允许在函数中直接引用全局变量的关键词 “全球”虽然存在这种机制,但可以通过将其应用于全局变量,从而在全局范围内重新分配这些变量。
def func1() :
global a
a = 10
print(a)
def func2() :
print(a)
a = 20
func1()
출력 결과 ==> a = 10
func2()
출력 결과 ==> a = 10与上述示例的不同之处在于,`func1()` 函数从全局范围获取全局变量。 重新分配除此之外,就是他提供了这个功能。如果他没有声明这是一个全局变量,那么它可能会作为局部变量使用。但由于他明确声明这是一个全局变量,因此它被重新分配为全局变量。需要注意的是,全局变量可能会引用其他函数,因此当数据发生变化时,可能会影响其他函数。 引起故障这是可以实现的。因此,在使用全球性关键词时,需要注意。
评论
今天学习了列表、元组、字典和函数。我正在逐渐深入学习 Python,并且能够编写出更复杂的代码,甚至可以完成一些任务,例如制作计算器和彩票等程序。但我认为,对于初学者来说,这些概念可能非常难以理解。我也记得,我花了很多时间才能掌握这些知识。因此,如果大家阅读这篇文章,我建议大家认真学习,不要因为觉得困难而放弃。🫠 我自己也还在学习中,所以希望大家能将这篇文章理解为一种入门介绍。😁
登录