python 3 |在 for 循环中使用多个 if 语句?

标签 python if-statement

我已经搜索过,但没有找到适合我需要的东西。

我有三个 for 循环,每个循环中都有一个 if 条件。这是代码:

for friend in friends:
    columns = friend.split("\n")
    if len(columns) == 4:
        c.execute("""INSERT INTO `fb_friends`(`name`, `no_of_mutual_friends`, `no_of_new_posts`, `already_friends`) VALUES (?, ?, ?, ?)""", (columns))

for friend in friends:
    columns = friend.split("\n")
    if len(columns) == 3:
        c.execute("""INSERT INTO `fb_friends`(`name`, `no_of_mutual_friends`, `already_friends`) VALUES (?, ?, ?)""", (columns))

for friend in friends:
    columns = friend.split("\n")
    if len(columns) == 2:
        c.execute("""INSERT INTO `fb_friends`(`name`, `no_of_mutual_friends`, `already_friends`) VALUES (?, ?, ?)""", (columns))

有没有更有效的方法?我在想这样的 运算符:

 for friend in friends:
    columns = friend.split("\n")
    if len(columns) == 4:
        c.execute("""INSERT INTO `fb_friends`(`name`, `no_of_mutual_friends`, `no_of_new_posts`, `already_friends`) VALUES (?, ?, ?, ?)""", (columns))
and
        if len(columns) == 3:
        c.execute("""INSERT INTO `fb_friends`(`name`, `no_of_mutual_friends`, `already_friends`) VALUES (?, ?, ?)""", (columns))
and
        if len(columns) == 2:
        c.execute("""INSERT INTO `fb_friends`(`name`, `already_friends`) VALUES (?, ?)""", (columns))

除了在同一个列表上迭代 3 次之外,有谁能提出最好或最有效的方法吗?

最佳答案

你正在寻找if/elif/else:

if len(smth) == 5:
    # do this
elif len(smth) == 6:
    # do that
else:
    # do something else

关于 python 3 |在 for 循环中使用多个 if 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40564950/

相关文章:

python,将列表转换为相似的子列表

python - 嵌套列表的函数返回值的静态类型

r - 如何在组内将第一个值与每个后续值进行比较,直到满足条件

C# 在检查条件时表现异常

python - 我应该自上而下还是自下而上平衡 AVL 树?

python - SQLAlchemy 自定义查询列

python - 搜索文档中的每个空白行,然后弹出第一行?

javascript - 比较条件对

c# - Ifs、else ifs 和多重返回

if-statement - 为什么针对多个值对一个变量进行非等式检查总是返回 true?