else可以搭配使用python_【Python】 else 用法汇总笔记

记录一个小知识…

阅读别人代码,有点疑惑,精简后如下:

def code_example(arg=None):

for i in range(5):

if arg:

break

else:

print('else branch')

问题

循环语句后面直接跟了 else 语句,未报错,程序正常运行。

一般都是判断语句配合 else 使用,那么这里的 else 是什么作用呢?

尝试

for i in range(2):

print(i)

else:

print("else branch")

>>>

0

1

else branch

test01:根据打印信息发现,for 循环正常执行完成后执行了 else 分支;

for i in range(2):

continue

else:

print("else branch")

>>>

else branch

test02:循环体内增加 continue 跳出,执行完成循环后,正常执行 else 分支;

for i in range(2):

# print(i)

break

else:

print("else branch")

>>>

test03:如果 break 掉循环,打断循环,没有任何输出,也就是不走 else 分支;

def test():

for i in range(2):

return

else:

print("else branch")

>>>

test04:尝试 return 语句,打断循环,也是不走 else 分支。

结论

for … else …仅当循环体全部执行完成,才执行 else 分支;

当循环过程未全部完成,则不执行 else 分支。

扩展

Python 支持 else 语句汇总:for … else …

while … else …

try … except … else …

if … elif … else …

while 语句

与 for 循环相同步骤测试,结论一样

try 语句:

1) 当 try 内无异常执行完成后,执行 else 分支;

2) 当 try 内出现异常,执行到 except,不再执行 else 分支。

def test_01():

try:

print("try")

except:

print("except")

else:

print("else")

>>>

try

else

-----------------------

def test02():

try:

5 / 0

except:

print("except")

else:

print("else")

>>>

except

汇总for、while 循环

当循环语句全部正常执行完成(包括 continue),会继续执行 else 分支;当循环语句被打断(break\return),不再执行 else 分支

try 异常处理

当 try 语句无异常执行完成时,会继续执行 else 分支;当抛出异常后,不再执行 else 分支

if 条件判断

条件判断,不符合 if 或者 elif,才执行 else 分支

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Python 中,DataFrame 是一种二维表格数据结构,可以使用 pandas 模块进行处理。针对 DataFrame 对象的循环,可以使用 for 循环,以及一些相关的方法。 举个例子,假设有如下的 DataFrame: ``` import pandas as pd data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 32, 18, 47], 'gender': ['F', 'M', 'M', 'M']} df = pd.DataFrame(data) ``` 如果要遍历这个 DataFrame,可以使用 iterrows() 方法,该方法会返回每一行的索引和数据: ``` for index, row in df.iterrows(): print(index, row['name'], row['age'], row['gender']) ``` 此外,还可以使用 itertuples() 方法,该方法会返回一个命名元组,包含每一行的数据: ``` for row in df.itertuples(): print(row.Index, row.name, row.age, row.gender) ``` 需要注意的是,在循环中使用 DataFrame 的值时,最好使用 loc 或 iloc 方法,以避免引用副本而不是视图。 另外,Python 中的 for 循环还支持 else 分支,表示当循环正常结束时执行的语句。例如: ``` for i in range(3): print(i) else: print('Loop finished') ``` 这段代码会输出: ``` 0 1 2 Loop finished ``` 如果在循环中使用了 break 语句,则不会执行 else 分支。 ### 回答2: 在Python中,DataFrame是pandas库中非常重要和常用的数据结构之一。它类似于电子表格或数据库表格,用于存储和处理二维的带标签数据。可以使用DataFrame来处理大量的数据,并进行各种数据操作和分析。 在DataFrame中使用for循环可以遍历DataFrame中的每一行数据。可以使用iterrows()方法来实现这一点,该方法会返回一个生成器,用于逐行遍历DataFrame。 下面是一个例子,展示如何使用for循环遍历DataFrame中的数据: ``` import pandas as pd # 创建一个包含三列的DataFrame data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35], 'City': ['New York', 'London', 'Tokyo']} df = pd.DataFrame(data) # 通过for循环遍历DataFrame中的每一行 for index, row in df.iterrows(): print(f"Name: {row['Name']}, Age: {row['Age']}, City: {row['City']}") ``` 这段代码会输出每行数据的姓名、年龄和所在城市。 此外,Python中的for循环还支持else语句。在for循环中,如果没有遇到break语句中断循环,则会执行else语句块的代码。在DataFrame中,可以将else语句用于在循环结束后执行某些特定的操作。例如,可以在遍历DataFrame中的数据时,如果找到了特定的值,就break退出循环,否则执行else语句的代码。 希望以上的回答能对您有帮助。 ### 回答3: dataframe for循环是指在Python使用pandas库中的DataFrame对象进行循环遍历操作。DataFrame是一种二维表格数据结构,类似于Excel中的表格,可以用来存储和处理大量的数据。 在Python中,可以使用for循环遍历DataFrame中的每一行或每一列数据。使用DataFrame的iterrows()方法可以按行遍历数据,其返回的是每一行的索引值和对应的数据。示例如下: ```python import pandas as pd # 创建一个DataFrame data = {'Name': ['Tom', 'John', 'Mike', 'Emily'], 'Age': [25, 32, 18, 27], 'City': ['Beijing', 'London', 'New York', 'Paris']} df = pd.DataFrame(data) # 使用for循环按行遍历DataFrame for index, row in df.iterrows(): print("Index:", index) print("Name:", row['Name']) print("Age:", row['Age']) print("City:", row['City']) print() ``` 此外,还可以使用DataFrame的iteritems()方法按列遍历数据,其返回的是每一列的列名和对应的数据。示例如下: ```python import pandas as pd # 创建一个DataFrame data = {'Name': ['Tom', 'John', 'Mike', 'Emily'], 'Age': [25, 32, 18, 27], 'City': ['Beijing', 'London', 'New York', 'Paris']} df = pd.DataFrame(data) # 使用for循环按列遍历DataFrame for column, data in df.iteritems(): print("Column:", column) print(data) print() ``` 注意:在使用DataFrame进行循环遍历时,要注意保持数据类型的一致性,确保能够正确地处理数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值