Skip to main content
 首页 » 编程设计

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

2025年05月04日17haluo1

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

我有三个 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