将列表分为不同名称的列表

在攻读博士学位期间,我目前正在学习真正的基本python作为辅助项目。为了应用我所学的知识,我想自动化一个基本的数独网格求解器。

这个故事从清单开始...

lines=['53xx7xxxx','6xx195xxx','x98xxxx6x','8xxx6xxx3','4xx8x3xx1','7xxx2xxx6','x6xxxx28x','xxx419xx5','xxxx8xx79']

我想得到类似以下内容的东西:

line1=['5','3','x','7','x']
line2=['6','1','9','5','x']
...

等...

我一直在努力地以一种非常有效的方式循环整个事情。 现在,我要做的是通过获取每个元素来创建每个列表,然后使用我在教程网站上看到的一个小函数来拆分它们。

对于列表中的每个元素,我重复一遍,我只需要复制粘贴并获得line1到line9列表。

def split(word): 
    return [char for char in word]  

line1=lines[0]
line1=split(line1)

line2=lines[1]
line2=split(line2)
...

它可以工作,但是看起来根本没有效率。对于这个特定的问题,我还没有找到适合初学者的答案。

你们知道在循环中处理多个列表生成的更好方法吗?

感谢您的关注, 祝您愉快!

(PS:我是法国人,对于任何与英语相关的错误表示抱歉!)

pking11 回答:将列表分为不同名称的列表

您可以使用for循环遍历列表,使用split方法拆分元素,并将拆分元素存储在新List中。 通过遍历新列表,您可以再次访问拆分的行。

这是一个小例子。第一个打印命令将打印出整个列表。第二个是单个元素。

def split(word):
    return [char for char in word]


newList = []
for line in lines:
    line = split(line)
    newList.append(line)

print(newList)
print(newList[0])
,

Python使用list()将字符串直接类型转换为list。您可以改用以下功能:

def split(word): 
   return list(word)
本文链接:https://www.f2er.com/3066445.html

大家都在问