看过来!看过来!python九大数据类型大整合!

目录

一、Int(整型)

二、Float(浮点型)

三、Bool(布尔类型)

四、Str(字符串)

(1)拼接:

(2)格式化:

(3)查找和替换:

(4)分割和连接:

(5)大小写转换:

(6)去除空白字符:

五、None(空值)

初始化变量

作为函数的返回值:

在条件语句中检查:

六、List(列表)

创建List

访问List元素

修改List

List的遍历

七、Tuple(元组)

创建Tuple

访问Tuple元素

Tuple的不可变性

Tuple的方法

八、Dict(字典)

创建字典

访问字典元素

修改字典

删除字典元素

字典的遍历

字典的方法

九、Set(集合)

创建集合

访问集合元素

修改集合

集合的数学操作

集合的其他特性


一、Int(整型)

Python中使用的是int类型来表示整数。int类型用于存储整数值,可以是正数、负数或零。

	# 定义一个int类型的变量  

	x = 10  

	  

	# int类型可以是负数  

	y = -5  

	  

	# int类型也可以非常大  

	z = 123456789012345678901234567890  

	  

	# int类型支持基本的算术运算  

	sum = x + y  

	a = x - y  

    b = x * y  

	c = x // y  # 整除  

	d = x % y  # 求余  

	  

	print("求和:", sum)  

	print("求差:", a)  

	print("求积:", b)  

	print("求整除:", c)  

	print("求余:", d)

二、Float(浮点型)

在Python中,float 类型用于表示浮点数,即带有小数部分的数字。浮点数可以是正数或负数,用于表示小数、分数、科学记数法等。

    # 定义一个float类型的变量  

	a = 3.14  

	  

	# float类型也可以是负数  

	b = -2.718  

	  

	# float类型可以非常大或非常小,使用科学记数法  

	c = 1.23e30  # 等同于 12300000000000000000000000000000.0  

	d = 4.56e-10  # 等同于 0.000000000456  

	  

	# float类型支持基本的算术运算  

	sum = a + b  

	difference = a - b  

	product = a * b  

	quotient = a / b  # 注意:在Python 3中,/ 表示真除法,结果总是float类型  

	  

	print("Sum:", sum)  

	print("Difference:", difference)  

	print("Product:", product)  

	print("Quotient:", quotient)  

三、Bool(布尔类型)

Python中的布尔类型(bool)是一种基本的数据类型,用于表示逻辑上的真(True)和假(False)两个值。布尔类型只有两个值,分别是TrueFalse

布尔值的作用:

  1. 条件判断:布尔类型通常用于表示条件是否成立。在if语句中,可以根据条件表达式的布尔值(True或False)来决定是否执行特定的代码块。
  2. 循环控制:在while循环中,可以根据条件表达式的布尔值来决定是否继续执行循环体内的代码。
  3. 逻辑运算:Python支持多种布尔运算,包括逻辑与(and)、逻辑或(or)、逻辑非(not)等,这些运算符可以用于组合多个条件,形成更复杂的判断逻辑。
# 赋值操作  
x = True  
y = False  
  
# 比较操作  
a = 5  
b = 10  
print(a < b)  # True  
print(a > b)  # False  
  
# 逻辑运算  
print(x and y)  # False  
print(x or y)   # True  
print(not x)    # False  
  
# 类型转换  
print(int(x))   # 1  
print(int(y))   # 0

四、Str(字符串)

Python 中的字符串(String)是不可变的,用于存储数据。字符串可以包含字母、数字、符号,甚至可以是空字符串。在 Python 中,字符串有两种主要的表示方式:单引号(')和双引号("),它们之间可以互换使用,但在处理包含引号本身的字符串时,需要使用不同类型的引号来避免语法错误。

# 使用单引号  
s1 = 'Hello, world!'  
  
# 使用双引号  
s2 = "Hello, world!"  
  
# 使用三引号(单引号或双引号)可以创建多行字符串  
s3 = '''这是一个  
多行字符串'''  
  
s4 = """这也是一个  
多行字符串"""

字符串中的每个字符都可以通过索引(或下标)来访问,索引从 0 开始。此外,还可以使用切片来访问字符串的一部分。

s = "Hello, world!"  
print(s[0])  # 输出: H  
print(s[7:12])  # 输出: world  
print(s[:5])  # 输出: Hello  
print(s[7:])  # 输出: world!

 字符串常用操作:

(1)拼接

使用 + 运算符可以拼接两个或多个字符串

s1 = "Hello, "  
s2 = "world!"  
s3 = s1 + s2  
print(s3)  # 输出: Hello, world!

(2)格式化

使用 format() 方法、f-string(Python 3.6+)或 % 操作符来格式化字符串。

name = "Alice"  
age = 30  
print(f"{name} is {age} years old.")  # f-string  
print("{} is {} years old.".format(name, age))  # format() 方法  
print("%s is %d years old." % (name, age))  # % 操作符

(3)查找和替换

使用 find()index()replace() 等方法。

s = "Hello, world!"  
print(s.find("world"))  # 输出: 7  
print(s.replace("world", "Python"))  # 输出: Hello, Python!

(4)分割和连接

使用 split() 方法分割字符串,使用 join() 方法连接字符串列表.

s = "apple,banana,cherry"  
print(s.split(","))  # 输出: ['apple', 'banana', 'cherry']  
print(",".join(['a', 'b', 'c']))  # 输出: a,b,c

(5)大小写转换

使用 upper()lower()capitalize()title() 等方法。

s = "Hello, world!"  
print(s.upper())  # 输出: HELLO, WORLD!  
print(s.lower())  # 输出: hello, world!

(6)去除空白字符

使用 strip()lstrip()rstrip() 方法去除字符串两端的空白字符(包括空格、换行符 \n、制表符 \t 等)。 

s = "  Hello, world!  "  
print(s.strip())  # 输出: Hello, world!

五、None(空值)

在Python中,None 是一个特殊的类型,用于表示空值或没有值。

None的使用:

初始化变量

x = None  
print(x)  # 输出: None

作为函数的返回值

def my_function():  
    # 这里没有返回任何值,所以默认返回 None  
    pass  

result = my_function()  
print(result)  # 输出: None

在条件语句中检查

None 常用于条件语句中,以检查变量是否已赋值或是否为空。

x = None  
if x is None:  
    print("x 是 None")  # 输出: x 是 None

六、List(列表)

在Python中,List(列表)是一种非常重要的数据结构,它允许我们存储一个有序的元素集合。这些元素可以是不同类型的,比如整数、浮点数、字符串,甚至是另一个列表。List是可变的。

创建List

使用方括号 [] 来创建列表,元素之间用逗号 , 分隔。

# 创建一个包含整数的列表  
numbers = [1, 2, 3, 4, 5]  
  
# 创建一个包含不同类型元素的列表  
mixed_list = [1, 'hello', 3.14, [1, 2, 3]]  
  
# 创建一个空列表  
empty_list = []

访问List元素

你可以通过索引来访问列表中的元素。索引从0开始。

# 访问第一个元素  
print(numbers[0])  # 输出: 1  
  
# 访问最后一个元素(索引-1)  
print(numbers[-1])  # 输出: 5  
  
# 访问列表中的特定元素  
print(mixed_list[3])  # 输出: [1, 2, 3]

修改List

你可以通过索引来修改列表中的元素。

# 修改第一个元素  
numbers[0] = 10  
print(numbers)  # 输出: [10, 2, 3, 4, 5]

添加元素  

使用 append() 方法在列表末尾添加一个元素。

使用 insert(index, element) 方法在指定位置插入一个元素。

numbers.append(6)  # 在末尾添加6  
print(numbers)  # 输出: [10, 2, 3, 4, 5, 6]  
  
numbers.insert(1, 1.5)  # 在索引1的位置插入1.5  
print(numbers)  # 输出: [10, 1.5, 2, 3, 4, 5, 6]

删除元素

使用 remove(element) 方法删除列表中第一个匹配的元素。

使用 pop(index) 方法删除指定索引的元素,并返回该元素的值(如果不指定索引,则默认删除并返回最后一个元素)。

使用 del 语句也可以删除元素。

numbers.remove(1.5)  # 删除元素1.5  
print(numbers)  # 输出: [10, 2, 3, 4, 5, 6]  
  
popped_element = numbers.pop()  # 删除并返回最后一个元素  
print(popped_element)  # 输出: 6  
print(numbers)  # 输出: [10, 2, 3, 4, 5]  
  
del numbers[0]  # 删除索引为0的元素  
print(numbers)  # 输出: [2, 3, 4, 5]

List的遍历

使用 for 循环来遍历列表中的元素。

for num in numbers:  
    print(num)  
# 输出:  
# 2  
# 3  
# 4  
# 5

七、Tuple(元组)

在Python中,Tuple(元组)是另一种用于存储有序元素集合的数据结构,但与List(列表)不同,Tuple是不可变的。这意味着一旦创建了一个Tuple,就不能更改它的内容(即不能添加、删除或修改元素)。

创建Tuple

使用圆括号 () 来创建Tuple,元素之间用逗号 , 分隔。如果Tuple中只有一个元素,需要在该元素后面加上逗号 “,”。

# 创建一个包含整数的Tuple  
numbers = (1, 2, 3, 4, 5)  
  
# 创建一个只包含一个元素的Tuple  
singleton = (1,)  
  
# 创建一个空的Tuple(注意:虽然()通常用于函数调用,但空的Tuple也需要用括号表示,但通常使用tuple()构造函数)  
empty_tuple = ()  
# 或者  
empty_tuple_alt = tuple()  
  
# 创建一个包含不同类型元素的Tuple  
mixed_tuple = (1, 'hello', 3.14, [1, 2, 3])  
# 注意:虽然Tuple本身是不可变的,但它可以包含可变类型的元素(如列表)

访问Tuple元素

与List类似,可以通过索引来访问Tuple中的元素。索引从0开始,也可以使用负索引来访问从末尾开始的元素。

# 访问第一个元素  
print(numbers[0])  # 输出: 1  
  
# 访问最后一个元素  
print(numbers[-1])  # 输出: 5

Tuple的不可变性

由于Tuple是不可变的,不能像修改List那样直接修改它的元素。但是,如果Tuple包含可变类型(如列表)的元素,可以修改这些元素的内容(但不能替换整个元素)。

# 尝试修改Tuple的一个元素(这会引发TypeError)  
# numbers[0] = 10  # 这会失败  
  
# 如果Tuple包含列表,则可以修改列表的内容  
mixed_tuple[3].append(4)  
print(mixed_tuple)  # 输出: (1, 'hello', 3.14, [1, 2, 3, 4])  
  
# 但不能将整个列表元素替换为另一个列表  
# mixed_tuple[3] = [10, 20, 30]  # 这会失败

Tuple的方法

虽然Tuple是不可变的,但它仍然有一些方法,比如 count(element) 可以计算某个元素在Tuple中出现的次数,index(element) 可以找到某个元素在Tuple中的索引(如果元素不存在,则抛出ValueError异常)。

# 计算元素在Tuple中出现的次数  
print(numbers.count(3))  # 输出: 1  
  
# 找到元素的索引  
print(numbers.index(4))  # 输出: 3

八、Dict(字典)

在Python中,Dict(字典)是一种可变容器模型,且可存储任意类型对象。字典的每个元素都是一个键值对(key-value pair),键必须是唯一的,而值则不必。字典是无序的,不能通过索引来访问元素,而是需要通过键来访问对应的值。

创建字典

使用大括号 {} 来创建字典,键值对之间用冒号 : 分隔,键值对之间用逗号 , 分隔。

# 创建一个空字典  
empty_dict = {}  
  
# 创建一个包含几个键值对的字典  
person = {'name': 'John', 'age': 30, 'city': 'New York'}  
  
# 字典的键可以是任何不可变类型,但通常是字符串或数字  
another_dict = {1: 'one', 2: 'two', 'three': 3}

访问字典元素

通过键来访问字典中的值。

# 访问字典中的值  
print(person['name'])  # 输出: John  
  
# 如果键不存在,将会引发KeyError  
# print(person['job'])  # 这会失败  
  
# 为了避免KeyError,可以使用get()方法,如果键不存在,则返回None(或你指定的其他值)  
print(person.get('job', 'Not specified'))  # 输出: Not specified

修改字典

通过键来修改字典中的值,或者添加新的键值对。

# 修改字典中的值  
person['age'] = 31  
  
# 添加新的键值对  
person['job'] = 'Developer'  
  
print(person)  # 输出: {'name': 'John', 'age': 31, 'city': 'New York', 'job': 'Developer'}

删除字典元素

使用 del 语句或 pop() 方法来删除字典中的键值对。

# 使用del语句删除键值对  
del person['job']  
  
# 使用pop()方法删除键值对,并返回被删除的值  
job = person.pop('city', 'default')  # 如果'city'键不存在,则返回'default'  
print(job)  # 输出: New York  
print(person)  # 输出: {'name': 'John', 'age': 31}  
  
# 注意:如果尝试pop不存在的键且没有提供默认值,将会引发KeyError  
# job = person.pop('country')  # 这会失败

字典的遍历

使用 for 循环来遍历字典的键、值或键值对。

# 遍历键  
for key in person:  
    print(key)  
  
# 遍历值  
for value in person.values():  
    print(value)  
  
# 遍历键值对  
for key, value in person.items():  
    print(key, value)

字典的方法

Python的字典提供了许多方法,比如 keys() 返回字典中所有的键,values() 返回字典中所有的值,items() 返回字典中所有的键值对(以元组形式),update() 用于更新字典(添加新键值对或更新现有键的值),clear() 用于删除字典中的所有元素,等等。

# 使用keys()、values()和items()  
print(person.keys())  # 输出: dict_keys(['name', 'age'])  
print(person.values())  # 输出: dict_values(['John', 31])  
print(person.items())  # 输出: dict_items([('name', 'John'), ('age', 31)])  
  
# 使用update()更新字典  
person.update({'city': 'San Francisco', 'job': 'Engineer'})  
print(person)  # 输出: {'name': 'John', 'age': 31, 'city': 'San Francisco', 'job': 'Engineer'}  
  
# 使用clear()删除字典中的所有元素  
person.clear()  
print(person)  # 输出: {}

九、Set(集合)

在Python中,Set(集合)是一个无序的、不包含重复元素的数据结构。集合主要用于数学上的集合操作,如并集、交集、差集和对称差集等。由于集合是无序的,因此不支持通过索引来访问元素。

创建集合

使用大括号 {} 来创建集合,但需要注意的是,如果大括号内包含的是键值对(即字典的语法),则创建的是字典而不是集合。为了避免混淆,通常使用 set() 函数来创建空集合或包含特定元素的集合。

# 创建一个空集合  
empty_set = set()  
  
# 使用set()函数创建包含一些元素的集合  
my_set = set([1, 2, 2, 3, 4])  # 注意:重复的元素会自动被去除  
# 或者更简洁的方式,直接使用大括号(但不包含键值对)  
my_set_literal = {1, 2, 3, 4}  
  
# 尝试使用大括号但包含键值对将创建一个字典,而不是集合  
# my_dict = {1: 'one', 2: 'two'}  # 这是一个字典

访问集合元素

由于集合是无序的,因此你不能通过索引来访问集合中的元素。但是,你可以使用循环来遍历集合中的所有元素。

for element in my_set:  
    print(element)

修改集合

使用 add() 方法向集合中添加元素,使用 remove() 或 discard() 方法从集合中删除元素。注意,remove() 方法在元素不存在时会引发 KeyError,而 discard() 方法则不会。

my_set.add(5)  # 添加元素  
my_set.remove(2)  # 删除元素(如果元素不存在则引发KeyError)  
my_set.discard(3)  # 删除元素(如果元素不存在则不会引发错误)  
  
# 使用update()方法合并集合  
set1 = {1, 2, 3}  
set2 = {3, 4, 5}  
set1.update(set2)  # set1 现在变为 {1, 2, 3, 4, 5}  
  
# 使用intersection_update()等方法进行集合操作  
set1 = {1, 2, 3, 4}  
set2 = {3, 4, 5, 6}  
set1.intersection_update(set2)  # set1 现在变为 {3, 4},即set1和set2的交集

集合的数学操作

Python支持集合的数学操作,如并集、交集、差集和对称差集。这些操作可以使用集合的方法来实现,也可以使用集合运算符(|&-^)来执行。

# 使用方法  
set1 = {1, 2, 3}  
set2 = {3, 4, 5}  
union = set1.union(set2)  # 并集 {1, 2, 3, 4, 5}  
intersection = set1.intersection(set2)  # 交集 {3}  
difference = set1.difference(set2)  # 差集 {1, 2},在set1中但不在set2中的元素  
symmetric_difference = set1.symmetric_difference(set2)  # 对称差集 {1, 2, 4, 5},在set1或set2中但不同时在两者中的元素  
  
# 使用运算符  
union = set1 | set2  
intersection = set1 & set2  
difference = set1 - set2  
symmetric_difference = set1 ^ set2

集合的其他特性

集合中的元素必须是不可变类型(如整数、浮点数、字符串、元组等),因为集合本身是不可变的(即你不能修改集合中的元素,但你可以添加或删除元素)。

集合没有索引或顺序,因此不支持切片操作。

集合是动态数据结构,可以根据需要自动调整大小。

总结:

以上就是python中最核心的九大数据结构,我们在学习时应当特别关注!

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-21 17:22:03       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-21 17:22:03       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-21 17:22:03       45 阅读
  4. Python语言-面向对象

    2024-07-21 17:22:03       55 阅读

热门阅读

  1. centos软件安装

    2024-07-21 17:22:03       19 阅读
  2. 内存屏障:程序员的“隐形护盾”

    2024-07-21 17:22:03       16 阅读
  3. 比较 WordPress 的 Baklib 和 BetterDocs

    2024-07-21 17:22:03       18 阅读
  4. npm install 出现canvas错误

    2024-07-21 17:22:03       14 阅读
  5. 作为一名程序员,怎样写出高效简洁的代码?

    2024-07-21 17:22:03       17 阅读
  6. python 爬虫技术 第02节 基础复习

    2024-07-21 17:22:03       16 阅读
  7. 如何在 Odoo 16 中设置和使用系统参数

    2024-07-21 17:22:03       16 阅读
  8. 工具篇(开发利器)

    2024-07-21 17:22:03       18 阅读
  9. 基于centos2009搭建openstack-t版-ovs网络-脚本运行

    2024-07-21 17:22:03       15 阅读