搜索
首页后端开发Python教程如何在Python中将矩阵转换为字典
如何在Python中将矩阵转换为字典Aug 28, 2023 pm 10:29 PM
python转换矩阵转字典

如何在Python中将矩阵转换为字典

矩阵是通过排列行和列来形成一个数组来定义的。矩阵的值可以是字符或整数。有多种方法可以将矩阵转换为Python字典-字典推导、for循环、enumerate和zip()。

使用for循环和字典推导

该程序使用for循环,通过应用字典推导来迭代矩阵的长度。这有助于将矩阵转换为字典。

Example

的中文翻译为:

示例

在下面的示例中,我们将展示将矩阵的名称值转换为字典。矩阵中每个部分内的名称标记为"Name 1","Name 2"等,每个部分分别标记为"Section 1","Section 2"等。最后,它将结果将名称值矩阵转换为字典。

def matrix_to_dict(matrix):
   dictionary = {f"Section {i+1}": {f"Name {j+1}": matrix[i][j] for j in range(len(matrix[i]))} for i in range(len(matrix))}
   return dictionary
# Matrix input using List
matrix = [['Raghav', 'Sunil', 'Kiran', 'Rajendra'], ['Pritam', 'Rahul', 'Mehak', 'Suresh'], ['Tom', 'Peter', 'Mark', 'Jessy']]
result = matrix_to_dict(matrix)
print(result)

输出

{'Section 1': {'Name 1': 'Raghav', 'Name 2': 'Sunil', 'Name 3': 'Kiran', 'Name 4': 'Rajendra'}, 
'Section 2': {'Name 1': 'Pritam', 'Name 2': 'Rahul', 'Name 3': 'Mehak', 'Name 4': 'Suresh'}, 
'Section 3': {'Name 1': 'Tom', 'Name 2': 'Peter', 'Name 3': 'Mark', 'Name 4': 'Jessy'}}

使用嵌套 for 循环

该程序使用嵌套的for循环,迭代行和列的长度,并以字典数据的形式返回结果(将行设置为键,列设置为值)。

Example

的中文翻译为:

示例

在下面的示例中,程序将矩阵转换为字典。它通过重复行和列来构建嵌套字典。每个矩阵分量都有一个类似“row,col”的标签,并连接到匹配的值。矩阵数据由字典表示为标记的行和列。

def matrix_to_dict(matrix):
   dictionary = {}
   for i in range(len(matrix)):
      row_dict = {}
      for j in range(len(matrix[i])):
         row_dict[f"col {j+1}"] = matrix[i][j]
      dictionary[f"row {i+1}"] = row_dict
   return dictionary

# matrix input
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
result = matrix_to_dict(matrix)
print(result)

输出

{'row 1': {'col 1': 1, 'col 2': 2, 'col 3': 3}, 
'row 2': {'col 1': 4, 'col 2': 5, 'col 3': 6}, 
'row 3': {'col 1': 7, 'col 2': 8, 'col 3': 9}}

使用枚举和字典理解

程序使用枚举来跟踪循环中的迭代次数并访问该循环的元素。接下来,使用字典理解来设置矩阵的结果格式。

Example

的中文翻译为:

示例

在下面的示例中,通过一个递归函数来开始程序,该函数以调用自身而闻名。使用字典推导技术,通过使用内置方法enumerate()将其存储在变量dict中。然后返回变量dict以获得字典的新转换。现在创建表示矩阵的子列表,并将其存储在变量matrix中。然后使用接受名为matrix的参数的调用函数来传递其值,并将其存储在变量result中。最后,我们借助result打印输出。

def matrix_to_dict(matrix):
   dict = {f"row {i+1}": {f"column {j+1}": value for j, value in enumerate(row)} for i, row in enumerate(matrix)}
   return dict
# Input of Matrix
matrix = [[11, 12, 13], [40, 50, 60], [17, 18, 19],[80, 90, 100]]
# Pass the value of the matrix using the recursive function
result = matrix_to_dict(matrix)
print(result)

输出

{'row 1': {'column 1': 11, 'column 2': 12, 'column 3': 13}, 
'row 2': {'column 1': 40, 'column 2': 50, 'column 3': 60}, 
'row 3': {'column 1': 17, 'column 2': 18, 'column 3': 19}, 
'row 4': {'column 1': 80, 'column 2': 90, 'column 3': 100}}

使用 zip() 和字典理解

该程序使用zip()函数将嵌套字典设置为一个值,并通过使用字典推导式{}将数据设置在键中。

Example

的中文翻译为:

示例

在下面的示例中,我们将使用名为 matrix_to_dict fun 的递归函数,该函数接受具有列表值的名为 Matrix 的参数。然后它使用列表理解将其存储在变量键中。接下来,它在遍历矩阵中的每一行并将其存储在变量字典中之后,通过理解技术构造给定密钥对的字典。基于行索引,每行使用模式“SN 1”、“SN 2” 等创建一个键。

继续返回字典,它将计算矩阵到字典的转换。现在只需使用子列表创建矩阵并将其存储在变量矩阵中。然后使用调用函数传递变量矩阵并将其存储在变量result中。最后,我们在变量结果的帮助下打印输出。

def matrix_to_dict(matrix):
   keys = [f"Letter {j+1}" for j in range(len(matrix[0]))]
# Each key is generated using different dictionary comprehension
   dictionary = {f"SN {i+1}": {key: value for key, value in zip(keys, row)} for i, row in enumerate(matrix)}
   return dictionary
# Take input as a character matrix using List
matrix = [['A', 'B', 'C'], ['P', 'Q', 'R'], ['X', 'Y', 'Z']]
result = matrix_to_dict(matrix)
print(result)

输出

{'SN 1': {'Letter 1': 'A', 'Letter 2': 'B', 'Letter 3': 'C'}, 
'SN 2': {'Letter 1': 'P', 'Letter 2': 'Q', 'Letter 3': 'R'}, 
'SN 3': {'Letter 1': 'X', 'Letter 2': 'Y', 'Letter 3': 'Z'}}

结论

我们讨论了将矩阵转换为字典的各种方法。所有上述输出都展示了使用整数和字符的不同字典表示。总之,这种转换可以更高效和灵活地表示数据。

以上是如何在Python中将矩阵转换为字典的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:tutorialspoint。如有侵权,请联系admin@php.cn删除
详细讲解Python之Seaborn(数据可视化)详细讲解Python之Seaborn(数据可视化)Apr 21, 2022 pm 06:08 PM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于Seaborn的相关问题,包括了数据可视化处理的散点图、折线图、条形图等等内容,下面一起来看一下,希望对大家有帮助。

详细了解Python进程池与进程锁详细了解Python进程池与进程锁May 10, 2022 pm 06:11 PM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于进程池与进程锁的相关问题,包括进程池的创建模块,进程池函数等等内容,下面一起来看一下,希望对大家有帮助。

Python自动化实践之筛选简历Python自动化实践之筛选简历Jun 07, 2022 pm 06:59 PM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于简历筛选的相关问题,包括了定义 ReadDoc 类用以读取 word 文件以及定义 search_word 函数用以筛选的相关内容,下面一起来看一下,希望对大家有帮助。

归纳总结Python标准库归纳总结Python标准库May 03, 2022 am 09:00 AM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于标准库总结的相关问题,下面一起来看一下,希望对大家有帮助。

分享10款高效的VSCode插件,总有一款能够惊艳到你!!分享10款高效的VSCode插件,总有一款能够惊艳到你!!Mar 09, 2021 am 10:15 AM

VS Code的确是一款非常热门、有强大用户基础的一款开发工具。本文给大家介绍一下10款高效、好用的插件,能够让原本单薄的VS Code如虎添翼,开发效率顿时提升到一个新的阶段。

python中文是什么意思python中文是什么意思Jun 24, 2019 pm 02:22 PM

pythn的中文意思是巨蟒、蟒蛇。1989年圣诞节期间,Guido van Rossum在家闲的没事干,为了跟朋友庆祝圣诞节,决定发明一种全新的脚本语言。他很喜欢一个肥皂剧叫Monty Python,所以便把这门语言叫做python。

Python数据类型详解之字符串、数字Python数据类型详解之字符串、数字Apr 27, 2022 pm 07:27 PM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于数据类型之字符串、数字的相关问题,下面一起来看一下,希望对大家有帮助。

详细介绍python的numpy模块详细介绍python的numpy模块May 19, 2022 am 11:43 AM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于numpy模块的相关问题,Numpy是Numerical Python extensions的缩写,字面意思是Python数值计算扩展,下面一起来看一下,希望对大家有帮助。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中