私は自分のニーズに合ったものを探して見つけました。Python 3 | forループ内で複数のif文を使用していますか?
私はそれぞれ3つのループを持っていて、その中にそれぞれ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))
もっと効率的なやり方がありますか?私はそうのようなand
オペレータを考えていた:
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回反復に並置としてこれを行うための最善あるいは最も効率的な方法を提案することはできますか?
文とパッドが '代わりにサイズ4にcolumns'場合は避けることができます:'列+ [なし] *(4-LEN(列)) ' – jfs
は、私が(列)'の使用を見出します**極端に誤解を招く**。何もしません( '(columns)'を 'columns'で置き換えることはできますが、何も変わりません)が、' '(columns、)'と似ています(最後のカンマに注意してください)。 – Bakuriu