【发布时间】:2017-06-22 14:41:49
【问题描述】:
那里有很多类似的帖子,但我找不到与我正在处理的问题直接匹配或导致解决方案的内容。
我想使用列表中包含的重复索引的第二个实例作为另一个列表的索引。执行该函数时,我希望从列表开头到第一个 '\*' 的所有数字在 Code1 之后打印,第一个 '\*' 和第二个 '\*' 之间的所有数字在 Code2 之后打印,然后全部第二个'\*' 之后的数字,直到要在 Code3 之后打印的列表末尾。 digit 的示例数据为 "['1', '2', '3', '4', '5', '\*', '6', '\*', '7', '8', '9', '10', '1']"。
换句话说,我希望打印下面的代码,假设这些数字存在,User Code: 12345, Pass Code: 6, Pin Code: 789101,全部在一行中。
print_string += 'User Code: {} '.format(''.join(str(dig) for dig in digit[:digit.index('*')])) + \
'Pass Code: {} '.format(''.join(str(dig) for dig in digit[digit.index('*'):digit.index('*')])) + \
'Pin Code: {} '.format(''.join(str(dig) for dig in digit[digit.index('*'):]))
print(print_string)
基本上,我想将第一个星号称为用户代码的右索引,第一个星号作为左索引,第二个星号作为密码的右索引,第二个星号作为密码的左索引代码。
我只是不知道如何让它寻找连续的星号。如果有更简单的方法来执行这个,请告诉我!
【问题讨论】:
-
加入列表中的所有项目,然后使用
split('\*') -
你有
"['1', '2', '3', '4', '5', '\*',...,但说你想要User Code: 1234然后Pass Code: 5...- 我误解了,还是你把*放在列表中的错误位置(在字符串中)?跨度> -
@doctorlove 我不小心复制了错误的数据集——我确实把 * 放在了错误的位置。我现在将对其进行编辑。谢谢你的好眼光。
标签: python string list python-3.x split