作为一名初学者,我们通常被教导在一个函数中只能返回一个值。然而,在某些情况下,返回多个值可能更具意义和效率。例如,当我们想要从一个字符串中提取多个子串时,我们可以使用一个函数来完成这一操作,并返回子串组成的列表。
2、解决方案
在 Python 中,有几种方法可以返回多个值。最常见的方法是使用元组。元组是一种有序的集合,可以包含不同类型的数据。例如,我们可以使用以下代码从一个字符串中提取多个子串并将其组成一个元组:
def extract_substrings(string):
http://www.jshk.com.cn/mb/reg.asp?kefu=xiaoding;//爬虫IP免费获取;
substrings = []
for i in range(len(string)):
for j in range(i+1, len(string)+1):
substrings.append(string[i:j])
return tuple(substrings)
string = "Hello, World!"
substrings = extract_substrings(string)
print(substrings)
运行此代码将输出以下结果:
('H', 'He', 'Hel', 'Hell', 'Hello', 'Hello,', 'Hello, ', 'Hello, W', 'Hello, Wo', 'Hello, Wor', 'Hello, Worl', 'Hello, World', 'ello', 'ello,', 'ello, ', 'ello, W', 'ello, Wo', 'ello, Wor', 'ello, Worl', 'ello, World!', 'llo', 'llo,', 'llo, ', 'llo, W', 'llo, Wo', 'llo, Wor', 'llo, Worl', 'llo, World!', 'o', 'o,', 'o, ', 'o, W', 'o, Wo', 'o, Wor', 'o, Worl', 'o, World!', 'r', 'r,', 'r, ', 'r, W', 'r, Wo', 'r, Wor', 'r, Worl', 'r, World!', 'l', 'l,', 'l, ', 'l, W', 'l, Wo', 'l, Wor', 'l, Worl', 'l, World!', 'd', 'd,', 'd, ', 'd, W', 'd, Wo', 'd, Wor', 'd, Worl', 'd, World!', '!',)
请注意,元组中的元素是按照从左到右、从上到下的顺序排列的。
另一种返回多个值的方法是使用列表。列表是一种无序的集合,可以包含不同类型的数据。与元组不同的是,列表可以被修改。例如,我们可以使用以下代码从一个字符串中提取多个子串并将其组成一个列表:
def extract_substrings(string):
substrings = []
for i in range(len(string)):
for j in range(i+1, len(string)+1):
substrings.append(string[i:j])
return substrings
string = "Hello, World!"
substrings = extract_substrings(string)
print(substrings)
运行此代码将输出以下结果:
['H', 'He', 'Hel', 'Hell', 'Hello', 'Hello,', 'Hello, ', 'Hello, W', 'Hello, Wo', 'Hello, Wor', 'Hello, Worl', 'Hello, World', 'ello', 'ello,', 'ello, ', 'ello, W', 'ello, Wo', 'ello, Wor', 'ello, Worl', 'ello, World!', 'llo', 'llo,', 'llo, ', 'llo, W', 'llo, Wo', 'llo, Wor', 'llo, Worl', 'llo, World!', 'o', 'o,', 'o, ', 'o, W', 'o, Wo', 'o, Wor', 'o, Worl', 'o, World!', 'r', 'r,', 'r, ', 'r, W', 'r, Wo', 'r, Wor', 'r, Worl', 'r, World!', 'l', 'l,', 'l, ', 'l, W', 'l, Wo', 'l, Wor', 'l, Worl', 'l, World!', 'd', 'd,', 'd, ', 'd, W', 'd, Wo', 'd, Wor', 'd, Worl', 'd, World!', '!']
请注意,列表中的元素是按照从左到右、从上到下的顺序排列的,但与元组不同的是,我们可以通过下标来修改列表中的元素。
总之,在 Python 中返回多个值有两种常见的方法:使用元组或列表。元组是一种有序的集合,可以包含不同类型的数据,并且是不可修改的。列表是一种无序的集合,可以包含不同类型的数据,并且是可以修改的。