繁体   English   中英

如何在每个字符中拆分字符串(在嵌套列表中)?

[英]How to split strings (in nested lists) every character?

从文件中读取文本迷宫,包括一系列的墙壁(#)和开口()。

迷宫需要读取为二维数组。

我不知道如何分割每个'#'和''以便它们分开。

只需调用list()将每个字符单独拆分为列表中的元素

from pprint import pprint as pp

def loadMaze(mazeName):
    global grandList
    grandList = []
    with open(mazeName) as sourceList:
        for line in sourceList:
            eachList = list(line)
            grandList.append(eachList)
        pp(grandList)

不要调用.split()

eachList = list(line.strip('\n'))

因为string.split()用于通过空格将字符串分隔为子字符串列表:

>>> "a bb ccc".split()
['a', 'bb', 'ccc']

或按字符分隔:

>>> "a/bb/ccc".split('/')
['a', 'bb', 'ccc']

list(some_string)将列出字符串中的字符:

>>> list("a, bb, ccc")
['a', ',', ' ', 'b', 'b', ',', ' ', 'c', 'c', 'c']

叶氏! 您几乎做到了,只是不要分割字符串。

您可以轻松地做到这一点,

with open(mazeName) as sourceList:
    for line in sourceList:
        grandList.append(list(line))
    pp(grandList)

或您自己的方式:

with open(mazeName) as sourceList:
    for line in sourceList:
        grandList.append([c for c in line])
    pp(grandList)

暂无
暂无

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

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