Python|提取字符串列表中的第 N 个单词
有时,在使用Python列表时,我们可能会遇到需要执行提取列表中每个字符串的第 N 个单词的任务的问题。这可以在网络开发领域有应用。让我们讨论可以执行此任务的某些方式。
方法 #1:使用列表理解 + split()
上述方法的组合可以用来解决这个问题。在此,我们执行使用拆分获取第 N 个单词并使用列表理解重新创建列表的任务。
# Python3 code to demonstrate working of
# Extract Nth words in Strings List
# Using list comprehension + split()
# initializing list
test_list = ['Gfg best for', 'All geeks', 'It is for', 'all CS professionals']
# printing original list
print("The original list is : " + str(test_list))
# initializing N
N = 2
# Extract Nth words in Strings List
# Using list comprehension + split()
res = [sub.split()[N - 1] for sub in test_list if len(sub.split()) > 1]
# printing result
print("The Nth words in list are : " + str(res))
输出 :
The original list is : ['Gfg best for', 'All geeks', 'It is for', 'all CS professionals']
The Nth words in list are : ['best', 'geeks', 'is', 'CS']
方法 #2:使用列表理解 + enumerate() + split()
上述功能的组合可用于执行此任务。在此,我们使用 enumerate 来检查第 N 个单词而不是 split()。
# Python3 code to demonstrate working of
# Extract Nth words in Strings List
# Using list comprehension + enumerate() + split()
# initializing list
test_list = ['Gfg best for', 'All geeks', 'It is for', 'all CS professionals']
# printing original list
print("The original list is : " + str(test_list))
# initializing N
N = 2
# Extract Nth words in Strings List
# Using list comprehension + enumerate() + split()
res = [ele for sub in test_list for idx, ele in enumerate(sub.split()) if idx == (N - 1)]
# printing result
print("The Nth words in list are : " + str(res))
输出 :
The original list is : ['Gfg best for', 'All geeks', 'It is for', 'all CS professionals']
The Nth words in list are : ['best', 'geeks', 'is', 'CS']