Python学习 —— 内置数据类型

这篇具有很好参考价值的文章主要介绍了Python学习 —— 内置数据类型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

写在前面

接上文《Python学习 —— 初步认知》,有需要请自取:Python学习 —— 初步认知

在这篇文章中,我们一起深入了解Python中常用的内置数据类型。Python是一种功能强大的编程语言,它提供了多种内置数据类型,用于存储和操作数据。这些数据类型包括数字、字符串、序列和映射等。熟练掌握这些数据类型的用法,可以帮助我们更高效地编写Python程序。

内置类型概览

Python中的常见数据类型包括数字类型(如int、float和complex)文本类型(如str)序列类型(如list、tuple和range) 以及 映射类型(如dict) 。这些数据类型的主要用途是存储和操作数据,它们具有内置的常用函数、运算符复用、明确的语义以及通用的高效功能。

在Python中,我们通常将数据从非结构化形式转换为结构化形式。例如,我们可以使用列表和元组来存储一系列对象,这些对象可以是数字、字符串,甚至是其他列表或元组。另一方面,字典是一种用于存储键值对的数据结构,它通常用于处理半结构化数据。

常用的数据类型包括数字、字符串、序列、映射, 序列中列表和元组最常用,映射中字典最常用。

列表

列表是Python中最常用的数据类型之一。它们可以包含不同类型的数据,例如数字、字符串等。列表使用方括号 [] 表示,每个元素称为列表的元素,元素之间使用逗号 , 分隔。

列表的定义

以下是定义列表的示例:

包含数字的列表:[1, 2, 3, 4, 5]
包含字符串的列表:['aa', 'cc', 'dd']
包含不同类型数据的列表:[123, 'abc']
包含子列表的列表:[ [1, 'a'], [2, 'b'] ]

除了直接定义列表之外,还可以在定义之后修改列表中的元素,或者使用索引来访问和修改一个或多个元素。此外,列表还支持许多内置函数,如添加元素、删除元素、排序等。

创建列表

可以使用赋值运算符将一个字符串转换为列表:

colors = ["red", "blue", "green"]  
print(colors) # 将列表打印出来  
print(type(colors)) # 打印 colors 变量的类型

使用内置函数list()也可以将字符串创建为列表:

list('red') # ['r', 'e', 'd']

此外,还可以使用列表推导式创建列表。例如,以下代码使用列表推导式创建一个包含1到10之间的整数的列表:

[ x for x in range(1, 10) ] # [1, 2, 3, 4, 5, 6, 7, 8, 9]

访问列表的元素

可以通过索引访问列表中的每一个元素。例如,以下代码演示了如何访问列表 list1 中的第一个元素:

list1 = ['a', 'b', 'c', 'd']
list1[0] # a

可以使用负索引来访问最后一个元素。例如,以下代码访问列表 list1 中的最后一个元素:

list1[-1] # d

如果需要访问嵌套列表中的元素,可以使用多个索引。例如,以下代码访问列表 list2 中第三个元素中的第一个元素:

list2 = ['a', 'b', ['c', 'd']]
list2[2][0] # c

删除列表的元素和删除列表

可以使用 del 语句来删除列表中的元素或整个列表。例如:

list1 = [1, 2, 3, 4, 5]
del list1[0] # 删除第一个元素
print(list1) # [2, 3, 4, 5]
del list1 # 删除整个列表

列表的常见操作

列表是可变的,可以进行添加、修改、删除等操作。以下是一些常见的操作方法:

  • list.append(element):在列表末尾添加元素。
  • list.insert(index, element):在指定位置插入元素。
  • list.remove(element):移除列表中第一个出现的元素。
  • list.pop(index):移除并返回指定位置的元素。
  • list.extend(iterable):将可迭代对象中的元素添加到列表末尾。
  • list.clear():清空列表中的所有元素。
  • list.index(element):返回指定元素的索引位置。
  • list.count(element):返回指定元素在列表中出现的次数。
  • list.sort():对列表进行排序(原地排序)。
  • list.reverse() : 反转列表元素的顺序。
  • sorted(list): 对列表进行排序并返回新的列表(不改变原列表)
  • len(list): 得到列表的长度。
  • len(list[0]): 得到列表中元素的长度。
  • list.count(element) : 得到元素出现的次数。

例如,以下代码演示了如何使用这些方法对列表进行操作:

list1 = ['hello', 1, 4, 1, 5, 9]
len(list1) # 列表的长度,得到 6
len(list1[0]) # 列表中第一个元素的长度,得到 5
list1.count(1) # 1出现的次数,得到 2
list1.append(2) # 在末尾添加元素,得到 [3, 1, 4, 1, 5, 9, 2]
list1.insert(2, 6) # 在位置2插入元素6,得到 [3, 1, 6, 4, 1, 5, 9, 2]
list1.remove(4) # 移除第一个出现的4,得到 [3, 1, 6, 1, 5, 9, 2]
list1.pop(2) # 移除并返回位置2的元素,得到 [3, 1, 1, 5, 9, 2]
list1.extend([2, 3]) # 将[2, 3]中的元素添加到末尾,得到 [3, 1, 1, 5, 9, 2, 2, 3]
list1.clear() # 清空列表,得到 []

元组

元组是一种不可变序列,与列表相似,但创建后不可修改。元组在Python中用于表示不可变数据序列,如文本字符串和二进制数据。与列表相比,元组的执行效率更高,因为它们不需要动态分配内存。

序列和元组

基本的序列包括列表、元组、range

  • 元组和列表类似,但是差别是创建后不可修改
  • 二进制数据和文本字符串属于特别定制的附加序列

序列的通用操作

运算 结果
x in s 如果 s 中的某项等于 x 则结果为 True,否则为 False
x not In s 如果 s 中的某项等于 x 则结果为 Fasle,否则为 True
s + t s 与 t 相拼接
s * n 或 n * s 相当于 s 与自身进行 n 次拼接
s[i] s 的第 i 项,起始为 0
s[i:j] s 从 i 到 j 的切片
s[i:j:k] s 从 i 到 j 步长为 k 的切片
len(s) s 的长度
min(s) s 的最小项
max(s) s 的最大项
s.index(x[, i[, j]]) x 在 s 中首次出现项的索引号(索引号在 i 或者其后且在 j 之前)
s.count(x) x 在 s 中出现的总次数

创建元组

元组可以使用圆括号 “()” 定义,也可以使用 tuple() 函数创建。将 range()、列表、字符串转换为元组可以使用类型转换函数。

例如:

# 使用圆括号定义元组
my_tuple = (1, 2, 3)
print(my_tuple) # 输出:(1, 2, 3)

# 使用tuple()函数创建元组
my_tuple = tuple([1, 2, 3])
print(my_tuple) # 输出:(1, 2, 3)

# 将列表转换为元组
my_list = [4, 5, 6]
my_tuple = tuple(my_list)
print(my_tuple) # 输出:(4, 5, 6)

删除元组

元组是不可变序列,因此无法使用append()pop()insert()等修改序列元素的函数。如果需要删除元组中的元素,可以使用 del 语句删除整个元组或指定元素。例如:

my_tuple = (1, 2, 3)
# 删除整个元组
del my_tuple
print(my_tuple) # 报错:NameError: name 'my_tuple' is not defined

集合的常见操作

Python 中的集合类型包括 setfrozenset 两种对象。set 对象是可变的,而 frozenset 对象是不可变的。set 对象在程序设计中比较常使用。集合的唯一性是经常使用该数据类型的主要原因。从序列中去除重复项等操作,可以通过数据类型强制转换实现。

创建 set 对象

集合可以使用多种方式创建,包括使用花括号内以逗号分隔元素的方式、使用集合推导式和使用类型构造器。例如:

# 使用花括号定义set对象
my_set = {1, 2, 3}
print(my_set) # 输出:{1, 2, 3}

# 使用集合推导式创建set对象
my_set = {x for x in range(10)}
print(my_set) # 输出:{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

# 使用类型构造器创建set对象
my_set = set([1, 2, 3])
print(my_set) # 输出:{1, 2, 3}

set 对象的常用操作

  • len(s):返回集合 s 中的元素数量。
  • x in s:检测 x 是否为 s 中的成员。
  • s <= other:检测是否集合 s 中的每个元素都在 other 之中。
  • s < other:检测集合 s 是否为 other 的真子集。
  • add(element):将元素 element 添加到集合 s 中。
  • remove(element):从集合 s 中移除元素 element
  • pop():从集合 s 中随机移除一个元素并返回它。
  • clear():清空集合 s 中的所有元素。

删除 set 对象

my_set = {1, 2, 3}
# 删除 set 对象
del my_set
print(my_set) # 报错:NameError: name 'my_set' is not defined

字典

字典是一种可变的数据类型,用于存储键值对。字典中的每个元素由一个键和一个值组成,键是唯一的,因此无法使用不可哈希的类型(如列表或字典)作为键。整数1和浮点数1.0会被视为相同的键。

字典的定义

字典的定义可以通过花括号 {}来实现,也可以使用 dict() 函数或字典推导式。例如:

# 使用花括号定义字典
my_dict = {'one': 1, 'two': 2}
print(my_dict) # 输出:{'one': 1, 'two': 2}

# 使用dict()函数定义字典
my_dict = dict(one=1, two=2)
print(my_dict) # 输出:{'one': 1, 'two': 2}

# 使用字典推导式定义字典
my_dict = {x: x**2 for x in range(10)}
print(my_dict) # 输出:{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}

字典常见操作

1.访问字典的内容,例如:

mail_list = {'tom': 'tom@mail.com', 'jerry': 'jerry@mail.com'}  
print(mail_list.items())  # 输出:dict_items([('tom', 'tom@mail.com'), ('jerry', 'jerry@mail.com')])

2.访问字典里指定的键:可以通过键来访问字典中的值。例如:

mail_list = {'tom': 'tom@mail.com', 'jerry': 'jerry@mail.com'}
print(mail_list['tom'])  # 输出:tom@mail.com

3.遍历字典:可以通过 items() 方法来遍历字典中的键值对。例如:

for key, value in mail_list.items():
    print(key, value)

4.修改字典内容:为字典添加新的键值对,如果字典中已经包含键 'tom',则更新该键对应的值。例如:

mail_list['tom'] = 'new_email@mail.com'

5.删除键值对:可以使用 pop() 方法删除指定的键值对并返回值。例如:

removed_value = mail_list.pop('tom')

6.返回字典的项数:可以使用 len() 函数返回字典中的项数。例如:

num_items = len(mail_list)

7.判断键是否在字典中:可以使用 in 关键字来检查一个键是否存在于字典中。例如:

if 'jerry' in mail_list:
    print("Jerry's email is in the dictionary.")

8.高级用法:可以使用 setdefault() 方法插入默认值;使用 |= 运算符更新字典等。例如:

new_email_list = {'wilson': 'wilson@newmail.com'}
mail_list |= new_email_list  # 将新字典的键值对添加到旧字典中,如果键已存在则更新对应的值。注意,此操作需要Python 3.9及以上版本支持。

9.字典与其他数据类型的混合使用:可以轻松地将列表、元组、字符串等数据类型转换为字典,反之亦然。此外,还可以利用 zip() 函数合并两个列表为字典。例如:

name_list = ['name1', 'name2', 'name3']
email_list = ['1111', '2222', '3333']

merged_dict = dict(zip(name_list, email_list))  # 将两个列表合并为一个字典,键为name_list中的元素,值为email_list中的元素。

merged_dict2 = { name_list[i]: email_list[i] for i in range(len(name_list)) } # 使用推导式亦可实现合并功能

删除字典

my_dict = { a: 1, b: 2, c: 3 }
# 删除 字典
del my_dic
print(my_dic) # 报错:NameError: name 'my_dic' is not defined

总结

本文介绍了Python的几种内置数据类型,包括列表、元组、集合和字典,并详细介绍了它们的常见操作。

对于列表(list),我们可以通过索引访问列表中的元素,可以使用切片操作获取列表的一部分,可以进行追加、插入和删除操作,还可以使用循环遍历列表中的所有元素。列表还支持一些常用的方法,如append()、insert()、remove()等。

元组(tuple) 是一个不可变的数据类型,与列表类似,但元组的元素不能被修改。元组通常用于存储一组不会改变的数据。元组可以使用索引和切片操作,也可以进行比较和排序操作。

集合(set) 是一个无序且不重复的数据集合,可以进行添加、删除、交集、并集等操作。集合中的元素必须是可哈希的。

字典(dictionary) 是一个可变的数据类型,用于存储键值对。字典中的键必须是唯一的,值可以是任何类型的数据。可以通过键来访问字典中的值,也可以使用字典推导式来创建新的字典。字典还支持一些常用的方法,如get()、setdefault()等。

这些内置数据类型在Python中非常常用,掌握它们的操作方法可以更好地处理数据和实现程序功能。文章来源地址https://www.toymoban.com/news/detail-746163.html

到了这里,关于Python学习 —— 内置数据类型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python 内置序列类型概览

    Python 标准库用 C 实现了丰富的序列类型,列举如下: 容器序列 list、tuple 和 collections.deque 这些序列能存放不同类型的数据。 扁平序列 str、bytes、bytearray、memoryview 和 array.array,这类序列只能容纳一种类型。 容器序列存放的是它们所包含的任意类型的对象的引用,而扁平序列

    2024年01月22日
    浏览(40)
  • Python中容易被忽略的内置类型

    Python中的内置类型是我们开发中最常见的,很多人都能熟练的使用它们。 然而有一些内置类型确实不那么常见的,或者说往往会被我们忽略,所以这次的主题就是带领大家重新认识这些“不同寻常”的内置类型。 不可变集合(frozenset)与普通的set一样,只不过它的元素是不

    2024年04月17日
    浏览(41)
  • 20 - 常见内置数据类型

    在Python中,常用的类型是这些: Python 中查看数据类型的函数(function)为 type() 。 Python 中常看内置方法(build-in method)的函数为 dir() 。 一个对象是否可变(mutable) 一些对象的 值在对象被创建后是不能再更改的 ,这类对象被称为 不可变对象(immutable objects) ; 一些对象的 值在被创建

    2024年02月19日
    浏览(40)
  • python - 内置类型 之 Generic Alias Type

      Standard Generic Collections These standard library collections support parameterized generics. tuple list dict set frozenset type collections.deque collections.defaultdict collections.OrderedDict collections.Counter collections.ChainMap collections.abc.Awaitable collections.abc.Coroutine collections.abc.AsyncIterable collections.abc.AsyncIterator collect

    2024年02月03日
    浏览(39)
  • 各个数据类型的内置方法(字符串和列表)

    数字类型主要就是用来做数学运算与比较运算,因此数字类型除了与运算符结合使用之外,并无需要掌握的内置方法 strip, lstrip, rstrip lower(), upper() startswith, endswith 格式化输出之format format的其他使用方式 split,rsplit join replace isdigit

    2024年02月10日
    浏览(44)
  • Python学习-5.组合数据类型

    常用的组合数据类型 ①集合类型:集合(set)是一个元素集合,元素之间无序,相同元素在集合中唯一存在。 ②序列类型:序列类型的典型代表是字符串(str)、列表(list)、元组(tuple),是一个元素向量,元素之间有先后关系,通过序号访问,元素之间不排他。 ③映射

    2024年02月09日
    浏览(32)
  • python教程 入门学习笔记 第4天 数据类型 获取数据类型 字符串拼接

    数据类型 1、能直接处理的基本数据类型有5个:整型、浮点型、字符串、布尔值、空 1)整型(int)=整数,例如0至9,-1至-9,100,-8180等,人数、年龄、页码、门牌号等 没有小数位的数字,是整型 2)浮点型(float)=小数,例如金额、身高、体重、距离、长度、π等 精确到小

    2024年02月14日
    浏览(54)
  • Python零基础学习6.2—Python组合数据类型(二)

    本章我们来讲解字典和集合。 下面来看例题: 任务描述 本关任务: (1)按格式要求分二次输入字典的所有键和对应值,将它们创建成一个学生成绩字典,输出字典 (2)查询并输出学生的姓名 (3)查询并输出学生的语文、英语成绩,如果不存在,返回\\\"不存在\\\" (4)查询并

    2024年02月04日
    浏览(29)
  • Python零基础学习6.1—Python组合数据类型(一)

    组合数据类型可以将多个数据组织起来,根据数据组织方式的不同,Python的组合数据类型可分成三类:序列类型、集合类型和映射类型,如图所示。 本章先来讲解元组和列表,我们应至少掌握以下几点: 掌握列表的创建、访问、增加与删除等基本操作 掌握元组的创建、访问

    2024年02月05日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包