在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Python/ for循環(huán)多個(gè)值,returnf返回只有一個(gè)值了

for循環(huán)多個(gè)值,returnf返回只有一個(gè)值了

使用select查詢出數(shù)據(jù),return返回的時(shí)候永遠(yuǎn)只有一個(gè)值
如何依次返回class_id的值

     def subject(self):
        class_id = []
        bject = self.conn.cursor()
        bject.execute("SELECT * FROM t_con_class_subject")
        bject_all = bject.fetchall()
        for i in bject_all:
             teacherid = i[2]
             class_id = i[0]
        return teacherid, class_id

sudent_site函數(shù)在接收class_id一直就是一個(gè)值,在subject函數(shù)已經(jīng)查詢出全部的值

    def sudent_site(self, class_id):
        sudent = []
        sudent_id_list = []
        cur = self.conn.cursor()
        name = self.conn.cursor()
        cur.execute("SELECT studentid FROM t_e_student_site WHERE classid=%s", (class_id,))

我想過的辦法是先把class_id查詢出來然后保存到class_id[]列表中,但是實(shí)際的都一樣,保存在列表中還是需要循環(huán)出來,是哪里的問題

回答
編輯回答
晚風(fēng)眠

class_id = i[0]就是每次都把class_id覆寫了一遍啊,如果你想在原來的class_id列表中增加元素,你應(yīng)該使用class_id.append(i[0])

2017年5月2日 13:30
編輯回答
祉小皓

先弄清楚自己的需求:
要一個(gè)一個(gè)查:就用列表保存然后for循環(huán),或者用生成器
要全查:一次多表就用聯(lián)合查詢或者一次單表用in查詢

example:

def subject():
    for class_id in range(10):
        yield class_id
        
g = subject()       
for class_id in g:
    sudent_site(class_id)      
2018年6月25日 00:45