我想输入两个逗号分隔的字符串:第一个是一组字符串,第二个是一组范围,并根据范围返回子字符串,例如:
x=input("Input string to search: ")
search=x.split(',')
y=input("Input numbers to locate: ")
numbers=y.split(',')
然后我想使用第二个范围列表从第一个列表中打印出指定的字符。
一个例子:
Input string to search: abcdefffg,aabcdefghi,bbcccdefghi
Input numbers to locate: 1:2,2:3,5:9
我希望输出看起来像这样:
bc
bcd
defghi
有什么建议吗?提前谢谢!
答案 0 :(得分:0)
split(':')
将“范围”分成两个组成部分。 map(int, ...)
将它们转换为整数。 string[a:b]
会将a
到b
的字符设为。
zip
是一种从两个不同列表中读取的简单方法。
如果您有任何其他问题,请与我们联系:
x = "abcdefffg,aabcdefghi,bbcccdefghi"
search = x.split(',')
y = "1:2,2:3,5:9"
numbers = y.split(',')
results = []
for string, rng in zip(search, numbers):
start, how_many = map(int, rng.split(':'))
results.append(string[start:start+how_many])
print(" ".join(results))
# Output:
# bc bcd defghi