Understanding FOR and IN Constructs in Python
- https://docs.python.org/3/tutorial/datastructures.html
- https://developers.google.com/edu/python/lists#for-and-in
English:
Python’s for and in constructs are extremely powerful and versatile. One of the primary ways they are used is with lists. The for loop, written as "for variable in list", allows you to easily access each element in a list (or any other iterable collection). It’s important not to modify the list (by adding or removing elements) while iterating over it.
Chinese:
Python 的 for 和 in 结构非常强大和多功能。它们的主要用法之一是用于列表。for 循环,写作 "for variable in list",允许你轻松访问列表中的每个元素(或任何其他可迭代集合)。在迭代时不要修改列表(通过添加或删除元素)。
numbers = [1, 2, 3, 4]
total = 0
for num in numbers:
total += num
print(total) # 10
English:
When you know the type of elements in the list, use descriptive variable names like "num" for numbers or "name" for names. This helps make your code more readable and understandable.
Chinese:
当你知道列表中元素的类型时,使用描述性的变量名,比如数字用“num”或名字用“name”。这有助于使你的代码更易读和更易理解。
English:
The in keyword can also be used to check if an element is present in a list. This returns a boolean value, True or False.
Chinese:
in 关键字还可以用于检查元素是否存在于列表中。这返回一个布尔值,True 或 False。
names = ['alice', 'bob', 'charlie']
if 'bob' in names:
print('Bob is here!') # Bob is here!
English:
The for/in constructs are commonly used in Python and work with other data types beyond lists. It’s beneficial to learn and remember their syntax. In other programming languages, you might manually iterate over a collection, but in Python, you should use for/in.
Chinese:
for/in 结构在 Python 中非常常用,并且适用于列表以外的数据类型。学习并记住它们的语法是有益的。在其他编程语言中,你可能会手动迭代集合,但在 Python 中,你应该使用 for/in。
English:
You can also use for/in to iterate over a string, treating it as a sequence of characters. For example, "for ch in string" will go through each character in the string.
Chinese:
你也可以使用 for/in 来迭代字符串,将其视为字符序列。例如,"for ch in string" 将遍历字符串中的每个字符。
message = "hello"
for ch in message:
print(ch)
# h
# e
# l
# l
# o
English:
You can use the for loop with the range function to iterate over a sequence of numbers. The range(n) function generates numbers from 0 to n-1.
Chinese:
你可以将 for 循环与 range 函数结合使用,以迭代一系列数字。range(n) 函数生成从 0 到 n-1 的数字。
for i in range(5):
print(i)
# 0
# 1
# 2
# 3
# 4
English:
You can also specify a start and stop value with the range function. The range(a, b) function generates numbers from a to b-1.
Chinese:
你还可以使用 range 函数指定起始值和终止值。range(a, b) 函数生成从 a 到 b-1 的数字。
for i in range(2, 6):
print(i)
# 2
# 3
# 4
# 5
English:
The for loop can also iterate over a list of lists, allowing you to access each sublist and its elements.
Chinese:
for 循环还可以迭代列表列表,允许你访问每个子列表及其元素。
matrix = [[1, 2], [3, 4], [5, 6]]
for row in matrix:
for element in row:
print(element)
# 1
# 2
# 3
# 4
# 5
# 6
By understanding and practicing these constructs, you can make your Python code more efficient and readable, whether you’re working with lists, strings, or other iterable objects.
Leave a Reply