如何根据开始和结束位置从字符串中获取子字符串,并为表中的每一行执行此操作。起始位置和结束位置在与初始字符串相同的行中的相同表中,但在不同的列中。 输入:
String Start End
1. Kids walking to school 0 3
2. Hello world 2 4
3. Today is a great day 6 9
期望的输出:
String Start End Substring
1. Kids walking to school 0 3 Kids
2. Hello world 2 4 llo
3. Today is a great day 6 9 is a
答案 0 :(得分:1)
您可以使用字符串切片,就像您对列表所做的那样,或任何其他序列。对于字符串string = 'Kids walking to school'
,string[0:4]
将返回“儿童”。请注意,切片从索引0开始,在索引3(4 - 1)处停止。
以下代码段将为您提供有关如何继续的提示。
table = [
('Kids walking to school', 0, 3),
('Hello world', 2, 4),
('Today is a great day', 6, 9)
]
substring = []
for line in table:
substrig.append(line[0][line[1]:line[2] + 1])
由于你没有提到你是什么类型的数据结构以及如何得到它,我用一个元组列表(string,start,stop)来抽象它。我们的想法是,对于表中的每一行,您将获得子串字符串[start:stop + 1]。
答案 1 :(得分:0)
table = [
['Kids walking to school', 0, 3],
['Hello world', 2, 4],
['Today is a great day', 6, 9]
]
substring = []
for line in table:
size = line[0].find(' ')
substring = line[0]
line.append(substring[0:size])
print(table)
请使用列表,而不要使用元组数据类型来保存表值,因为python中的元组是不可变的数据类型。要根据需要更新表条目,可以使用上面的代码段。