【发布时间】:2017-06-21 21:44:50
【问题描述】:
那里有很多类似的帖子,但我找不到与我正在处理的问题直接匹配或导致解决方案的内容。
我想使用列表中包含的重复索引的第二个实例作为另一个列表的索引。执行该函数时,我希望在用户代码之后从列表开头到第一个星号到print 的所有数字,在密码之后打印第一个星号和第二个星号之间的所有数字,然后是后面的所有数字直到列表末尾的第二个星号在 Pin 代码之后打印。 digit 的示例数据为 "['1', '2', '3', '4', '5', '*', '6', '*', '7', '8', '9', '10', '1']" 。用户代码、密码和密码的元素数量可以改变,这就是为什么我试图让它在星号周围打印。
换句话说,我希望下面的代码为print,假设这些数字存在,User Code: 12345, Pass Code: 6, Pin Code: 789101,都在一行中。我不希望星号为print。
print_string += 'Elapsed Time: ' + str(time) + ', ' + '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)
我只是不知道如何让它寻找连续的星号。如果有更简单的方法来执行这个,请告诉我!
谢谢
【问题讨论】:
-
仅供参考,我是 Python 新手。 @spectras 不完全确定 str.split 在这种情况下如何工作。如果我错了,请纠正我,但 str.split 不是用于操纵字符串的存储方式,在这种情况下,是在列表中吗?如果可以使用,我不知道如何使用它。本质上,我想将第一个星号称为 Code1 的右索引,将第一个星号称为左索引,将第二个星号称为 Code2 的右索引,将第二个星号称为 Code3 的左索引
标签: python list indexing printing