Python基础入门(2)—— 什么是控制语句、列表、元组和序列?

本文介绍了Python的基础知识,包括控制语句(if、for、while)以及列表和元组的数据类型。列表是可变的,支持多种操作如添加、删除和排序,而元组是不可变的,适合存储静态数据。文章还涵盖了序列的一般操作,如索引、切片和迭代,并给出了使用Python处理数据的示例。
摘要由CSDN通过智能技术生成

A bold attempt is half success.
勇敢的尝试是成功的一半。

前面学习了Python的基本原则、变量、字符串、运算符和数据类型等知识,下面主要记录了Python基础中的控制语句、列表、元组、序列的相关知识

01 | 🚄控制语句

在这里插入图片描述

Python的控制语句可以帮助实现条件执行、循环迭代等功能。下面是三种最常用的Python控制语句:

  1. if语句:if语句用于执行特定的操作,当满足一个或多个条件时才会执行。if语句由if关键字、条件表达式和语句块组成。

    if 条件表达式:
    	代码块1
    else:
     代码块2
    

    如果条件表达式为真,则执行代码块1;否则,执行代码块2。

  2. for循环:for循环用于遍历任何序列中的每个元素,例如列表、字符串、元组等。for循环由for关键字、迭代变量、in关键字和序列组成。

    for 变量 in 序列:
      	循环体代码
    

    其中,变量用于存储当前迭代的值,而序列指定可迭代的对象。对于每个元素,都将执行循环体代码。

  3. while循环:while循环用于重复执行一段代码,直到满足退出条件为止。while循环由while关键字、条件表达式和循环块组成。

    while 条件表达式:
     	代码块
    

    只要条件表达式为True,代码块就会重复执行,直到条件表达式为False或者循环被break语句中断。
    另外,Python还支持其他控制语句,如try/except等异常处理语句,这些语句的使用能够使程序更健壮、更可靠并且容错性更强,在后面阶段会重点学习一下异常处理这块知识点

02 | 🚅列表

在这里插入图片描述

当你需要管理多个元素时,Python的列表(list)是一个非常有用的数据类型。一个列表是一种有序的、可变的、容纳任意数量的Python对象的集合。由于Python支持动态变量类型,一个列表可以包括不同类型的元素,例如数字、字符串和其他列表等。

下面是关于Python列表的一些重要特征和用法:

  1. 定义列表:使用方括号[]定义一个列表。它可以为空或包含一个或多个元素,并用逗号分隔。

    scores = [90, 80, 70, 60]
    names = ['John', 'Anna', 'Mike', 'Alice']
    empty_list = []
    
  2. 访问列表元素:列表中的元素在内部是按照0索引的顺序排列的,即第一个元素的索引为0,第二个元素的索引为1,以此类推。您可以通过方括号([])访问列表中的任何元素。

    grades = [85, 92, 78, 90]
    print(grades[0])   # 输出列表中的第一个元素
    print(grades[-1])  # 输出列表中的最后一个元素
    
  3. 列表切片:可以使用切片操作符(:)获取列表中的一段子集。切片操作符由起始位置、终止位置和步长组成。

    numbers = [1, 2, 3, 4, 5]
    print(numbers[1:3])     # 输出列表中索引为1和2的元素
    print(numbers[:3])      # 输出列表中前三个元素
    print(numbers[::2])     # 输出步长为2的所有元素
    
  4. 迭代列表:可以使用for循环语句迭代遍历列表中的每个元素。

    cities = ['Beijing', 'Shanghai', 'Guangzhou', 'Shenzhen']
    for city in cities:
    	print(city)
    
  5. 修改列表元素:列表是可变(mutable)类型,意味着您可以修改列表中的元素。

    fruits = ['apple', 'banana', 'cherry']
    fruits[0] = 'orange'   # 将第一个元素由'apple'改为'orange'
    print(fruits)   # 输出更改后的列表['orange', 'banana', 'cherry']
    
  6. 列表方法:Python列表还提供了许多有用的方法来强化其功能。这些方法包括添加、删除、查找和排序等。

    numbers = [1, 2, 3, 4, 5]
    numbers.append(6)        # 在列表末尾追加一个元素
    numbers.insert(0, 0)    # 在列表开头插入一个元素
    numbers.remove(3)        # 移除指定元素
    numbers.sort()           # 对列表进行排序
    
  7. 列表长度:使用len()函数获取列表的长度。

    animals = ['cat', 'dog', 'fish']
    print(len(animals))   # 输出列表长度3
    

综上所述,Python的列表(list)是一种非常灵活和有用的数据类型。对于处理多个元素的情况,它们提供了许多实用的特性和功能。在日常编程中,适当的使用列表能够有效地减少代码复杂度并提高代码效率。

03 | 🚈元组

在这里插入图片描述

在Python中,元组(tuple)与列表(list)类似,也是存储多个项目的容器。但它们之间有一个重要的区别:元组是不可变(immutable)的,意味着在创建后无法对其进行更改。由于这个原因,元组通常用于表示静态数据,如某个对象的固定属性或坐标。

下面是关于Python元组的一些重要特征和用法:

  1. 定义元组:使用圆括号()定义一个元组。可以为空或包含一个或多个元素,并用逗号分隔。

    coordinates = (3, 5)
    fruits = ('apple', 'banana', 'cherry')
    empty_tuple = ()
    
  2. 访问元组元素:元组中的元素在内部是按照0索引的顺序排列的,即第一个元素的索引为0,第二个元素的索引为1,以此类推。可以通过方括号[]访问元组中的任何元素。

    coordinate = (3, 5)
    print(coordinate[0])    # 输出元组中第一个元素
    print(coordinate[-1])   # 输出元组中最后一个元素
    
  3. 元组切片:可以使用切片操作符:获取元组中的一段子集。

    numbers = (1, 2, 3, 4, 5)
    print(numbers[1:3])     # 输出元组中索引为1和2的元素
    print(numbers[:3])      # 输出元组中前三个元素
    print(numbers[::2])     # 输出步长为2的所有元素
    
  4. 迭代元组:可以使用for循环语句迭代遍历元组中的每个元素。

    cities = ('Beijing', 'Shanghai', 'Guangzhou', 'Shenzhen')
    for city in cities:
    	print(city)
    
  5. 解包元组:可以将元组解包,并将元素分配给变量,以便更方便地访问它们。

    coordinate = (3, 5)
    x, y = coordinate   # 分配元组中的第一个和第二个元素到变量x和y
    print(x)            # 输出3
    print(y)            # 输出5
    
  6. 元组方法:元组虽然不可变,但也提供了一些实用的内置方法来处理其内容。

    numbers = (1, 2, 3, 4, 5)
    print(numbers.index(3))   # 查找元组中首次出现3的位置
    print(numbers.count(2))   # 统计元组中值为2的元素个数
    
  7. 元组作为返回值:元组适合作为函数的返回值类型,因为它们可以容易地返回多个对象。

    def square_and_cube(x):
    	return x**2, x**3
    
    result = square_and_cube(2)
    print(result)          # 输出元组(4, 8)
    squared, cubed = result
    print(squared, cubed)  # 输出4, 8
    

综上所述,Python的元组(tuple)是一种不可变类型的数据容器。虽然它们与列表相比在灵活性和易用性方面受到了限制,但它们可以提供更好的安全性和性能优化等方面的保障。在处理静态数据和返回多个值时,元组通常是一种很好的选择。

04 | 🚝序列

在这里插入图片描述

在Python中,序列(sequence)是包含一组有序元素的数据类型。在这个概念下,Python提供了三种内置序列类型:字符串(str)、列表(list)和元组(tuple),它们都支持常见的序列操作。

以下是关于Python序列的一些重要特征和用法:

  1. 索引:序列中的元素按照从左到右的顺序排列,并被分配一个唯一的索引号(从0开始)。您可以通过方括号[]访问序列中的任何元素。

    str = 'Hello, World!'
    lst = [10, 20, 30, 40]
    tup = (3, 5, 7, 9)
    
    print(str[1])    # 输出'e'
    print(lst[2])    # 输出30
    print(tup[-1])   # 输出9
    
  2. 切片:可以使用切片操作符:获取序列中的一段子集。切片操作返回一个新的序列,而不改变原有的序列。

    str = 'Hello, World!'
    lst = [10, 20, 30, 40]
    tup = (3, 5, 7, 9)
    
    print(str[1:5])      # 输出'ello'
    print(lst[::2])      # 输出[10, 30]
    print(tup[:-2])      # 输出(3, 5)
    
  3. 求长度:可以使用函数len()来计算序列中元素的数量。

    str = 'Hello, World!'
    lst = [10, 20, 30, 40]
    tup = (3, 5, 7, 9)
    
    print(len(str))      # 输出13
    print(len(lst))      # 输出4
    print(len(tup))      # 输出4
    
  4. 迭代序列:可以使用for循环语句遍历序列中的每个元素。

    tr = 'Hello, World!'
    lst = [10, 20, 30, 40]
    tup = (3, 5, 7, 9)
    
    for char in str:
    	print(char)
    
    for num in lst:
    	print(num)
    
    for val in tup:
    	print(val)
    
  5. 拼接序列:可以使用加号+运算符将两个序列(相同类型)合并为一个新序列。

    str1 = 'Hello'
    str2 = ', World!'
    lst1 = [10, 20, 30]
    lst2 = [40, 50, 60]
    
    new_str = str1 + str2
    new_lst = lst1 + lst2
    
    print(new_str)     # 输出'Hello, World!'
    print(new_lst)     # 输出[10, 20, 30, 40, 50, 60]
    
  6. 乘法操作:可以使用乘法*运算符重复序列中的元素多次,并生成一个新序列。

    str1 = 'Hello'
    lst1 = [1, 2, 3]
    
    new_str = str1 * 3
    new_lst = lst1 * 2
    
    print(new_str)     # 输出'HelloHelloHello'
    print(new_lst)     # 输出[1, 2, 3, 1, 2, 3]
    
  7. 成员资格:可以使用运算符innot in来检查某个值是否为序列的元素。

    str = 'Hello, World!'
    lst = [10, 20, 30, 40]
    tup = (3, 5, 7, 9)
    
    print('H' in str)       # 输出True
    print(25 not in lst)    # 输出True
    print(7 in tup)         # 输出True
    

综上所述,Python的序列(sequence)是一种有序元素的数据类型。在Python中,字符串(str)、列表(list)和元组(tuple)都属于序列类型,它们支持常见的序列操作,如索引、切片、长度计算、迭代、拼接、重复、成员资格等。这些基本操作可以帮助轻松地处理和操作各种数据结构,从而提高生产效率。

05 | 🚞习题

在这里插入图片描述

辅导员要到学生宿舍走访,学生宿舍管理数据库中有一表如下,现将表中的姓名列删除形成新表,要求不能出现重复元组(行)。编写程序,用序列和集合实现这一过程,从而获得需要走访的宿舍地址(楼栋和宿舍号)。

姓名宿舍楼宿舍号
小右白虎楼201
小左青龙楼202
小北朱雀楼203
小南玄武楼204

下面是使用序列和集合实现的代码:

# 原始表格
data = [("小西", "1号楼", "201"), ("小东", "2号楼", "202")]

# 删除姓名列
new_data = [(x[1], x[2]) for x in data]

# 利用集合去重
deduped_data = set(new_data)

# 输出需要走访的宿舍地址
for item in deduped_data:
    print(item[0], item[1])

代码的实现流程如下:

  • 首先定义了一个原始表格,其中每行是一个三元组,分别表示姓名、楼栋和宿舍号。

  • 然后用一个列表推导式,将原始表格中的姓名列去除,形成一个新的二元组序列。

  • 接着利用 Python 的集合类型,将新的二元组序列转换成一个集合,从而去除了其中的重复元素。

  • 最后,遍历这个集合,输出需要走访的宿舍地址。
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ltd Pikashu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值