gpt4 book ai didi

python - 将 python 列表拆分为多个列表

转载 作者:行者123 更新时间:2023-11-30 23:39:05 25 4
gpt4 key购买 nike

例如,如果我有一个类似的列表:

一 = [1,2,3]

我可以使用什么函数或方法将每个元素拆分为自己的单独列表,例如:

一 = [1]

RANDOM_DYNAMIC_NAME = [2]

RANDOM_DYNAMIC_NAME_AGAIN = [3]

并且在任何给定时间,称为oneunsplit列表可能有超过1个元素,它是动态的,并且我正在编码的刽子手游戏需要这个算法作为自布置的作业。

完成此示例目的需要算法:

选一个词:密西西比

猜一个字母:s

['_','_','s','s','_','s','s','_','_','_','_' ]

这是我的代码:

http://pastebin.com/gcCZv67D

最佳答案

看看你的代码,如果你试图解决的部分是第 24-26 行中的注释,那么你绝对不需要动态创建的变量,事实上我什至无法想象他们如何帮助您。

你已经得到了这个:

enum = [i for i,x in enumerate(letterlist) if x == word]

你的变量的名字非常令人困惑——一个叫做word的东西是猜测的字母,而你有一个不同的变量letterguess,它是别的东西,然后是一个名为 letter 的变量,这就是整个单词……但我想我明白你的目标了。

enumletterlistword 的所有索引的列表。例如,如果 letterlist'letter' 并且 wordt,则它将是 [2 , 3].

然后你这样做:

bracketstrip = (str(w) for w in enum)

所以现在 bracketstrip['2', '3']。我不确定你为什么想要这个。

z = int(''.join(bracketstrip))

并且''.join(bracketstrip)'23',所以z23

letterguess[z] = word

现在您收到 IndexError,因为您尝试设置 letterguess[23] 而不是设置 letterguess[2] 并且letterguess[3]

我认为您想将其替换为以下内容:

enum = [i for i,x in enumerate(letterlist) if x == word]
for i in enum:
letterguess[i] = word

关于代码其他部分的一些提示:

您可以在几个地方执行以下操作:

letterlist = []
for eachcharacter in letter:
letterlist.append(eachcharacter)

这与letterlist = list(letter)相同。但实际上,您根本不需要该列表。您唯一要做的就是for i, x in enumerate(letterlist),并且您可以首先使用letter做同样的事情。通常,你会让自己的事情变得比你必须做的更加困难。确保您真正理解编写每一行代码的原因。

“因为我无法让它以任何其他方式工作”不是一个原因 -你想做什么?您为什么认为需要一个字母列表?没有人能同时把所有这些决定都记在脑子里。你拥有的技能越多,你的代码就越明显,以至于不需要注释,但你永远不会达到不需要任何注释的程度。当您刚刚开始时,每次您弄清楚如何做某事时,请添加一条评论,提醒自己您正在尝试做什么以及为什么它有效。您稍后可以随时删除评论;您永远无法收回不是您写的评论。

关于python - 将 python 列表拆分为多个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13871575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com