python - python将复杂的列表列表转换为字符串
问题描述
我有一个看起来像这样的复杂列表:
[[['MARIA DUPONT',
' infos : ',
[' age = 28',
' yeux = bleus',
' sexe = femme']],
[' + ']],
[['PATRICK MARTIN',
' infos : ',
[' age = 53',
' yeux = marrons',
' sexe = homme']],
[' + ']],
[['JULIE SMITH',
' infos : ',
[' age = 17',
'yeux = verts',
'sexe = femme']],
[' fin ']]]
我正在尝试将其转换为字符串。最后我想打印:
MARIA DUPONT,
infos :
age = 28
yeux = bleus
sexe = femme
+
PATRICK MARTIN
infos :
age = 53
yeux = marrons
sexe = homme
+
JULIE SMITH
infos :
age = 17
yeux = verts
sexe = femme
fin
我的真实数据更复杂,我的列表进入第 5 级。所以我正在寻找一种方法来解决我解释的问题,以便能够对其进行调整并将其应用于我的真实数据。
我正在尝试
''.join(list)
和
''.join(x for x in list)
但在这两种情况下我都有错误TypeError: list indices must be integers or slices, not list
我尝试了其他方法,但现在我很困惑,我没有找到一个好的解决方案来实现我的目标。
任何帮助将不胜感激,并在此先感谢。(对不起我的英语不好!)
解决方案
编写一个递归函数以进入您的列表,如下所示:
def print_data(input_list):
for obj in input_list:
if isinstance(obj, list):
print_data(obj)
else:
print(obj)
input_list = [[['MARIA DUPONT',
' infos : ',
[' age = 28',
' yeux = bleus',
' sexe = femme']],
[' + ']],
[['PATRICK MARTIN',
' infos : ',
[' age = 53',
' yeux = marrons',
' sexe = homme']],
[' + ']],
[['JULIE SMITH',
' infos : ',
[' age = 17',
'yeux = verts',
'sexe = femme']],
[' fin ']]]
print_data(input_list)
推荐阅读
- javascript - Javascript找不到文件
- sql - DROP & CREATE FUNCTION 提高了性能
- c# - 在 Xamarin Android C# 中将 SQLite 数据库备份和还原到 sdcard
- excel - 在excel中合并两行,并在最后一列旁边移动一列
- php - 在 Laravel 中将多个数据一次保存到数据库中
- rust - 将 Unix 套接字与 socket2 一起使用
- java - 如何仅将对象的几个字段用于 REST 服务
- selenium - 使用 Selenium、IEDriverServer 通过 Java 执行测试时出现“IE 驱动程序的命令行服务器已停止工作”错误
- python-3.x - Tkinter 网格传播和滚动条
- hyperledger-fabric - Hyperledger Fabric 1.2 服务发现无法在启用 TLS 的情况下工作