Python程序:连接字符串中第K个索引的单词


字符串是不可变的数据结构,它以字符串格式存储数据。可以使用str()方法或用单引号或双引号括起来的数据来创建它。访问字符串的元素,我们使用索引。在索引中,我们有负索引和正索引,在负索引中,我们将使用-1和(-字符串长度)来访问最后一个元素到第一个元素。在正索引中,我们将为第一个元素赋予0,为最后一个元素赋予(字符串长度 - 1)

现在,在这篇文章中,我们将使用Python中提供的不同方法来连接字符串的第K个索引的单词。让我们详细了解每种方法。

使用循环

在这种方法中,我们使用split()方法将输入字符串分割成一个单词列表。然后,我们遍历这些单词,并检查索引是否是k的倍数。如果是,我们将单词与空格连接到结果字符串中。最后,我们使用strip()方法删除结果字符串中任何前导或尾随空格。

示例

def concatenate_kth_words(string, k):
   words = string.split()  
   result = ""
   for i in range(len(words)):
      if i % k == 0: 
         result += words[i] + " "
      return result.strip()  
my_string = "This is a sample string to test the program"
k = 2
concatenated_words = concatenate_kth_words(my_string, k)
print(concatenated_words)

输出

This

使用列表推导式和join()

在这种方法中,我们使用列表推导式创建一个新列表,其中只包含索引为k的倍数的单词。然后,我们使用join()方法将新列表的元素连接成单个字符串,并用空格分隔它们。

示例

def concatenate_kth_words(string, k):
   words = string.split()  
   result = " ".join([words[i] for i in range(len(words)) if i % k == 0])
   return result
my_string = "This is a sample string to test the program"
k = 2
concatenated_words = concatenate_kth_words(my_string, k)
print(concatenated_words)

输出

This a string test program

使用切片和join()

在这种方法中,我们使用列表切片提取索引为k的倍数的单词。切片words[::k]从第一个元素开始,选择每个第k个元素。然后,我们使用join()方法将选定的单词连接成单个字符串,并用空格分隔它们。

示例

def concatenate_kth_words(string, k):
   words = string.split()  # Split the string into a list of words
   result = " ".join(words[::k])
   return result
my_string = "This is a sample string to test the program"
k = 2
concatenated_words = concatenate_kth_words(my_string, k)
print(concatenated_words)

输出

This a string test program

更新于:2023年8月2日

84 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告