在这篇文章中,我们将看到字符串列表迭代的不同方法。我们将讨论的方法如下。
- 使用带有范围函数的for循环。
- 使用while循环。
- 使用comprehension方法。
- 使用enumerate方法。
- 使用枚举法并格式化输出。
那么,让我们来讨论每个方法和它们的程序。
方法1:使用带范围函数的for循环
所以,这个方法将使用for循环来迭代字符串数组,这非常简单。
# python for_loop_with_range_function.py
str_list = ["New York","Los Angeles","Chicago","Houston","Phoenix",
"Philadelphia"]
for x in range(len(str_list)):
print(str_list[x])
输出: python for_loop_with_range_function.py
New York
Los Angeles
Chicago
Houston
Phoenix
Philadelphia
第3行:我们创建了一个字符串元素的列表。
第6到7行:我们使用range函数和len()方法计算出的范围值。然后我们简单地从列表中迭代每个元素,并在屏幕上打印出上图中的输出。
方法2:使用while循环
我们可以使用的另一种方法是通过while循环来迭代字符串列表。但这一般不是程序员使用的方法,因为没有必要使用额外的变量。
# python using_while_loop.py
'''
Iterate the string list using the while loop
'''
i = 0
str_list = ["New York","Los Angeles","Chicago","Houston","Phoenix",
"Philadelphia"]
sizeofList = len(str_list)
while i < sizeofList:
print(str_list[i])
i += 1
输出:python using_while_loop.py
New York
Los Angeles
Chicago
Houston
Phoenix
Philadelphia
第6行:我们初始化一个变量,在while循环中进行比较。
第7行:我们创建了一个字符串元素的列表。
第9行:我们找到字符串列表的长度。
第10至12行:我们正在检查初始化变量(i)是否小于字符串列表的长度,然后它将打印字符串列表的元素,否则它将停止循环。
方法3:使用理解法
理解法是最流行的方法,大多数程序员都愿意使用它,因为它看起来更像pythonic,而且非常干净。下面给出了使用理解法的方法。
# python list_comprehension.py
'''
Iterate the string list using the list comprehension method
'''
str_list=["New York","Los Angeles","Chicago","Houston","Phoenix",
"Philadelphia"]
[print(i) for i in str_list]
输出: python list_comprehensive.py
New York
Los Angeles
Chicago
Houston
Phoenix
Philadelphia
第7行:我们创建了一个字符串元素的列表。
第9行:这一行里面,我们正在运行一个for循环,并伴随着单行的print语句。这就是为什么我们称它为列表理解方法。
方法4:使用枚举法
还有一种方法,我们可以用来打印元素和它们的索引值。在这个方法中,我们用另一个额外的变量IDX(我们可以保留这个变量的任何名字)来迭代字符串列表。这个变量将打印该特定元素的索引值。但是要注意,第一个变量将打印元素的索引值,第二个变量将打印元素。
# python enumerate.py
'''
Iterate the string list using enumerate
'''
str_list = ["New York","Los Angeles","Chicago","Houston","Phoenix",
"Philadelphia"]
# this will print elements along with their index value
for idx, word in enumerate(str_list):
print(idx, word)
输出: python enumerate.py
0 New York
1 Los Angeles
2 Chicago
3 Houston
4 Phoenix
5 Philadelphia
第7行:我们创建了一个字符串元素的列表。
第11至12行:我们使用enumerate()函数,在该函数中,我们传递了字符串列表。然后我们使用两个变量,idx,和word,它们将分别打印索引值和元素。我们可以看到,在上面的输出中,有一些数字值与元素一起出现。这个数字值是元素在列表数组中的索引位置。上面的数字输出从0开始,因为索引值在列表中从0开始。
方法5:使用enumerate并格式化输出
我们也可以在打印我们的元素时格式化输出。因此,在下面这个程序中,我们将看到如何格式化输出。
# python format_string_list.py
'''
Iterate the string list and format it
'''
str_list = ["New York","Los Angeles","Chicago","Houston","Phoenix",
"Philadelphia"]
for i, word in enumerate(str_list):
print ("string[{}] = {}".format(i, word))
输出: python format_string_list.py
string[0] = New York
string[1] = Los Angeles
string[2] = Chicago
string[3] = Houston
string[4] = Phoenix
string[5] = Philadelphia
第7行:我们创建了一个字符串元素的列表。
第11至12行:在这一行,我们使用了在上面的例子中已经给出的枚举函数的细节。但在这里,我们也使用了 format 函数。format函数接受变量,并将这些变量以同样的顺序传递给大括号{},如上面程序所示。第一个变量是一个索引(i),第二个变量是一个元素值(word),所以第一个大括号将得到一个索引值,第二个大括号将得到一个元素值。
总结
在这篇文章中,我们已经看到了所有不同的方法来迭代一个字符串列表。我们还看到了一些更高级的概念,比如列表理解法,这是最流行的pythonic方式。我们也看到了一些初级的迭代方法,如 while 循环。迭代的最好方法是列表理解法,因为我们不会因为较少的变量而产生过多的代码复杂性。但有时,人们会对列表理解法感到困惑。所以,使用任何方法都是由用户决定的,没有任何限制。只有程序员给出的建议,使用较少的变量和迭代,使代码快速。