繁体   English   中英

Function 用于列表中的拆分数字和每个数字的唯一编号/代码

[英]Function for split digits in list and unique number/code for every digit

我有一个数据输入,我想把它变成一个特定的形状。

数据如下所示:

01211231202143244400222255340042523252102440536423024350201113345340514003134
20023230143300003201455331343005145134541545264403161213336031512541125234215
01203204313112402314341530533423155434004002652564464622316236363153203455225

我的代码:

with open('Dataday8.in') as file: 
    data = [i for i in file.read().split()]

在代码之后它看起来像:

data = ['01211231202143244400222255340042523252102440536423024350201113345340514003', '2002323014330000320145533134300514513454154526440316121333603151254112523421', '0120320431311240231434153053342315543400400265256446462231623636315320345522']

Buy 我希望它在每个数字之后分开(但每一行都应该在一个括号中)。 不管我尝试什么,我的代码永远不会让我达到目标。

在此之后,我想给列表中的每个数字一个唯一的数字,我可以在循环中使用它。

谢谢你的帮助

这是我尝试在列表中的每个数字之后拆分的代码:

[x for x in data.split('\n')]

我只是简单地报告Maurice Meyer的回答,它完美地解决了问题,以便将来更好地阅读。 此外,如果你想得到整数,你只需要 di

data = [list(int(i)) for i in file.read().split()]
data = [[int(elem) for elem in row] for row in data]

尽管Sala已经解决了,但我认为您的int object is not iterable的问题可以通过以下方式解决:

data = list([int(elem) for elem in row] for row in (i for i in file.read().split()))

你也可以这样写:

data = list(list(int(elem) for elem in row) for row in (i for i in file.read().split()))

这是单线的,但您当然可以将其分解。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM