Python基础学习之基本数据结构详解【数字、字符串、列表、元组、集合、字典】

yizhihongxing

Python基础学习之基本数据结构详解

Python数据类型

在Python中,一共有几种基本的数据类型:

  • 数字(Number):整数,浮点数
  • 字符串(String):用于表达文本信息
  • 列表(List):用于存储一系列有序的元素
  • 元组(Tuple):与列表类似,但是元素不可修改
  • 集合(Set):用于存储一系列无序的元素(不能含有重复元素)
  • 字典(Dictionary):用于存储键-值对

在本文中,我们将详细讨论这些数据类型。

数字(Number)

数字分为整数和浮点数两种,其中整数(int)对应正整数、负整数和0,浮点数(float)对应带小数的数字。

Python中的数字支持基本的算术运算(加、减、乘、除):

a = 10
b = 3

# 加
print(a + b) # 输出:13

# 减
print(a - b) # 输出:7

# 乘
print(a * b) # 输出:30

# 除
print(a / b) # 输出:3.3333333333333335

需要注意的是,整数相除会得到浮点数的结果。如果要进行整数除法取整,可以使用双斜杠(//):

a = 10
b = 3

print(a // b) # 输出:3

还可以使用取余操作符(%)获取除法的余数:

a = 10
b = 3

print(a % b) # 输出:1

Python中支持的数字类型并不止这两种,还有十进制数、二进制数、八进制数和十六进制数等。想要了解更多,可以参考Python官方文档。

字符串(String)

字符串是Python中非常常用的数据类型之一,用于表达文本信息。字符串可以使用单引号(')、双引号(")或三引号('''或""")括起来:

s1 = 'Hello, Python!'
s2 = "I'm learning Python."
s3 = '''Python is a great language,
I love it very much.
'''
print(s1)
print(s2)
print(s3)

输出结果如下:

Hello, Python!
I'm learning Python.
Python is a great language,
I love it very much.

使用三引号可以方便地表达多行字符串。

字符串支持很多操作,比如拼接、重复、索引和切片等:

s = 'abc'
t = 'def'

# 拼接
print(s + t) # 输出:abcdef

# 重复
print(t * 3) # 输出:defdefdef

# 索引
print(s[0])  # 输出:a
print(s[-1]) # 输出:c

# 切片
print(s[1:]) # 输出:bc

需要注意的是,单个字符不可变,也就是说字符串是不可变的。如果需要对一个字符串进行修改,需要创建一个新的字符串。

s = 'abc'
s[0] = 'd' # 报错:'str' object does not support item assignment

列表(List)

列表是Python中非常常用的一种数据结构,用于存储一系列有序的元素。列表可以包含任意类型的对象,甚至可以包括其他列表。

创建列表的语法是在方括号中添加元素,各个元素之间使用逗号分隔:

lst = [1, 2, 3, 'a', 'b', 'c']

可以通过索引访问列表中的元素,也可以使用切片获取一段子列表:

lst = [1, 2, 3, 'a', 'b', 'c']

# 索引
print(lst[0])   # 输出:1
print(lst[-1])  # 输出:'c'

# 切片
print(lst[1:4]) # 输出:[2, 3, 'a']

可以通过内置的函数修改列表中的元素,比如添加、删除和排序等:

lst = [1, 2, 3, 'a', 'b', 'c']

# 添加元素
lst.append('d')   # 在列表末尾添加元素'd'
lst.insert(0, 0)  # 在列表第0个位置添加元素0
print(lst)        # 输出:[0, 1, 2, 3, 'a', 'b', 'c', 'd']

# 删除元素
lst.pop()         # 删除并返回列表末尾的元素'd'
lst.remove(3)     # 删除列表中第一次出现的元素3
print(lst)        # 输出:[0, 1, 2, 'a', 'b', 'c']

# 排序
lst.sort()        # 将列表中的元素按照从小到大的顺序排序
print(lst)        # 输出:[0, 1, 2, 'a', 'b', 'c']

元组(Tuple)

元组与列表类似,也是用于存储一系列有序的元素,但是元组中的元素不可修改。元组的创建语法是在小括号中添加元素,各个元素之间使用逗号分隔:

tup = (1, 2, 3, 'a', 'b', 'c')

可以通过索引访问元组中的元素,也可以使用切片获取一段子元组:

tup = (1, 2, 3, 'a', 'b', 'c')

# 索引
print(tup[0])   # 输出:1
print(tup[-1])  # 输出:'c'

# 切片
print(tup[1:4]) # 输出:(2, 3, 'a')

需要注意的是,元组是不可变的,也就是说不支持添加、删除和修改等操作。

集合(Set)

集合是Python中用于存储一系列无序的、唯一的元素,不能含有重复元素。集合的创建语法是在花括号中添加元素,各个元素之间使用逗号分隔:

s = {1, 2, 3, 'a', 'b', 'c'}

集合支持基本的集合操作,比如并集、交集、差集等:

s1 = {1, 2, 3, 'a', 'b', 'c'}
s2 = {2, 3, 'b', 'c', 'd', 'e'}

# 并集
print(s1 | s2) # 输出:{1, 2, 3, 'a', 'b', 'c', 'd', 'e'}

# 交集
print(s1 & s2) # 输出:{2, 3, 'b', 'c'}

# 差集
print(s1 - s2) # 输出:{1, 'a'}

字典(Dictionary)

字典是另一个非常常用的Python数据类型,用于存储键-值对。字典中的键必须唯一,但是值可以重复。创建字典的语法是在花括号中添加键-值对,各个键-值对之间使用逗号分隔:

dic = {'name': 'Alice', 'age': 18, 'score': 90}

可以通过键来访问字典中的值,也可以使用内置的函数修改字典中的值:

dic = {'name': 'Alice', 'age': 18, 'score': 90}

# 访问值
print(dic['name'])  # 输出:'Alice'
print(dic.get('age')) # 输出:18

# 修改值
dic['score'] = 95   # 更新键'score'对应的值
dic['gender'] = 'Female' # 添加新的键-值对
print(dic)          # 输出:{'name': 'Alice', 'age': 18, 'score': 95, 'gender': 'Female'}

至此,我们已经对Python中的基本数据结构进行了详细的介绍。希望本文能对正在学习Python的你有所帮助!

示例1

下列代码定义并打印一个包含数字、字符串、列表和字典的复杂数据类型:

data = {
    'name': 'Alice',
    'age': 18,
    'hobbies': ['swimming', 'reading', 'running'],
    'scores': {'math': 90, 'english': 85, 'biology': 95}
}
print(data)

输出结果如下:

{
    'name': 'Alice',
    'age': 18,
    'hobbies': ['swimming', 'reading', 'running'],
    'scores': {'math': 90, 'english': 85, 'biology': 95}
}

示例2

下列代码定义并打印一个包含数字、字符串、元组和集合的复杂数据类型:

data = {
    'name': 'Alice',
    'age': 18,
    'languages': ('Chinese', 'English'),
    'hobbies': {'swimming', 'reading', 'running'}
}
print(data)

输出结果如下:

{
    'name': 'Alice',
    'age': 18,
    'languages': ('Chinese', 'English'),
    'hobbies': {'swimming', 'reading', 'running'}
}

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python基础学习之基本数据结构详解【数字、字符串、列表、元组、集合、字典】 - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • Python Subprocess模块原理及实例

    Python Subprocess模块原理及实例 Subprocess模块是Python中用于创建子进程的标准库。子进程的创建通常是为了调用操作系统提供的命令行工具或执行其他可执行文件。该模块提供了许多函数,可以帮助我们创建子进程并与它们进行交互,同时还可以控制子进程的输入和输出等操作。 Subprocess基本用法 创建子进程 Subprocess模块的主…

    python 2023年6月2日
    00
  • Python 高级变量之字典和字符串详解

    Python 高级变量之字典和字符串详解 一、字典的基本概念和使用 1.1 什么是字典? 在 Python 中,字典是一种无序、可变、键-值对(key-value pair)的数据类型。字典中的键必须是不可变的,如字符串、数字等;而值可以是任意数据类型,如整数、浮点数、列表、元组、字典等。 1.2 字典的创建 可以通过以下方式创建空字典: dict1 = {…

    python 2023年5月13日
    00
  • Python:替换列表中的 \n \r \t,不包括以 \n\n 开头并以 \n\r\n\t 结尾的列表

    【问题标题】:Python: replace \n \r \t in a list excluding those starting \n\n and ends with \n\r\n\tPython:替换列表中的 \n \r \t,不包括以 \n\n 开头并以 \n\r\n\t 结尾的列表 【发布时间】:2023-04-03 00:32:01 【问题描述】…

    Python开发 2023年4月8日
    00
  • python中如何让输出不换行

    在python中,通常使用print()函数进行输出。在默认情况下,每一次调用print()函数都会自动换行,可以通过以下两种方式来让输出不换行: 方法一:使用end参数 print()函数中的关键字参数end用于指定输出后的字符,默认为换行符\n,我们可以将其修改为空白字符(space),从而让输出不换行。下面是一个简单的例子: print("这…

    python 2023年6月5日
    00
  • Python+OpenCV检测灯光亮点的实现方法

    Python+OpenCV检测灯光亮点的实现方法 概述 在计算机视觉领域中,灯光亮点检测是一项基础任务,涉及到图像处理、边缘检测、图像分割等多个方面。通过在图像中检测亮点,可以实现诸如研究光学性质、寻找特定形状物体等任务。 OpenCV是一个流行的计算机视觉库,提供了大量的图像处理、机器学习、深度学习等功能。通过结合Python和OpenCV,可以实现灯光亮…

    python 2023年6月2日
    00
  • Python 中如何写注释

    当我们编写代码时,为了让其他人易于理解和阅读代码,或者为了让自己方便回忆代码的用途和思路,我们需要在代码中添加注释。在 Python 中,注释用 # 符号表示,可以有单行注释和多行注释两种方式。 单行注释 单行注释是用来解释一行代码的作用,其语法为在代码后面添加 # 符号。例如: a = 1 # 定义变量a并赋值为1 在这个例子中,定义了一个变量 a 并将其…

    python 2023年5月19日
    00
  • Python利用wxPython制作一个有趣的验证码生成器

    Python利用wxPython制作一个有趣的验证码生成器 简介 本攻略将介绍如何使用Python和wxPython制作一个有趣的验证码生成器。该验证码生成器的功能是:生成一张包含随机字符的图片,并且每个字符都有不同的颜色,字体和位置。该验证码生成器使用了wxPython框架,所以它是跨平台的,你可以在Windows,Linux和MacOS等多种操作系统上运…

    python 2023年6月3日
    00
  • 浅析Python中的元编程

    浅析Python中的元编程 元编程是指编写能够修改程序自身状态或者行为的程序。在Python中,元编程通常是通过对元类、装饰器、反射等一系列高级特性的运用来实现的。 元类 元类是Python中最为高级的编程特性之一,它允许我们在定义类时动态地定制类的行为。通过定义自己的元类,我们可以改变类的实例化行为,修改类属性和方法等。在Python中,通过定义一个类的_…

    python 2023年5月30日
    00
合作推广
合作推广
分享本页
返回顶部