【问题标题】:Assigning variables to split strings [duplicate]将变量分配给拆分字符串[重复]
【发布时间】:2021-05-12 10:33:56
【问题描述】:

我正在尝试将字符串拆分为多个变量,最终将每个变量作为指令发送给六个步进电机之一。字符串的格式如下:

D2 R' D' F2 B D R2 D2 R' F2 D' F2 U' B2 L2 U2 D R2 U

问题是字符串中的步长(例如 D2 或 R' 或 B)的长度都不同,因此在调用各个部分时使用步长作为固定长度会产生问题(不同的长度意味着有时我会得到一个解决方案的一部分或一个空格,然后是一个字母)。由于字符串中的步骤数量不同,因此使用解包之类的方法也不起作用。那么,我怎样才能像下面显示的那样切割一个字符串,这样我就可以将每个步骤分配给一个单独的变量?

通过查看上一个问题 (Python - split string into smaller chunks and assign a variable),我意识到我可以按照以下方式做一些事情:

finalstate = input("enter solution: ")
finalstate.split
step = 2
solution_steps = [finalstate[i:i+step] for i in range(0, len(finalstate),step)]

然后像这样调用解决方案的不同部分:

print(Solution_steps[0])

但是,在那个解决方案中,他们希望字符串按确定的长度分隔,而我的会有所不同。

【问题讨论】:

  • split 是一个函数,你必须用() 调用它。您需要将结果分配给另一个变量。
  • 你还没有说分裂应该发生在哪里,或者你期望的最终输出是什么。
  • @sayse 抱歉,我是这个社区的新手,仍在学习提出有意义问题的正确方法。我现在意识到我的问题之前已经得到了回答,但是,作为编码新手,我正在努力寻找我的问题的答案,因为我不确定如何措辞。 Barmar 现在已经解决了我的问题。

标签: python string split


【解决方案1】:

您需要调用split 方法,方法是在其后面加上()。它会返回一个列表,您需要将其分配到某个地方。

finalstate = input("enter solution: ")
words = finalstate.split()
step = 2
solution_steps = [words[i:i+step] for i in range(0, len(words),step)]

solution_steps 的值:

[['D2', "R'"], ["D'", 'F2'], ['B', 'D'], ['R2', 'D2'], ["R'", 'F2'], ["D'", 'F2'], ["U'", 'B2'], ['L2', 'U2'], ['D', 'R2'], ['U']]

【讨论】:

  • 啊,我不敢相信这是傻,非常感谢你的提示解决方案!希望您今天过得愉快,先生。
猜你喜欢
  • 1970-01-01
  • 2016-06-20
  • 2013-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多