Python分组

2024-04-20 11:54:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用下面的代码来获取一张桌子的座位并对它们进行分组

        cur.execute("SELECT * FROM seats WHERE Day = 'S' AND Booked = 'N' AND Disabled = 'N'")
        for letter, rows in groupby(cur, key=lambda r: r[0][0]):
            print ' '.join([r[0] for r in rows])

我得到了以下指纹:

A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13
B2 B3 B4 B5 B6 B7 B8 B9 B10 B11 B12 B13 B14 B15
C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 C15 C16
D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15 D16 D17 D18
E2 E3 E4 E5 E6 E7 E8 E9 E10 E11 E12 E13 E14 E15 E16 E17 E18 E19
F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19
G2 G3 G4 G5 G6 G7 G8 G9 G10 G11 G12 G13 G14 G15 G16 G17 G18
H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18
J2 J3 J4 J5 J6 J7 J8 J9 J10 J11 J12 J13 J14 J15 J16 J17 J18
K2 K3 K4 K5 K6 K7 K8 K9 K10 K11 K12 K13 K14 K15 K16 K17 K18
L2 L3 L4 L5 L6 L7 L8 L9 L10 L11 L12 L13 L14 L15

但缺少A1、B2等——这是残疾人座椅,我知道我把‘残疾人=N’ 但我希望残疾人座椅的底部印上如下内容:

A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13
B2 B3 B4 B5 B6 B7 B8 B9 B10 B11 B12 B13 B14 B15
C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 C15 C16
D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15 D16 D17 D18
E2 E3 E4 E5 E6 E7 E8 E9 E10 E11 E12 E13 E14 E15 E16 E17 E18 E19
F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19
G2 G3 G4 G5 G6 G7 G8 G9 G10 G11 G12 G13 G14 G15 G16 G17 G18
H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18
J2 J3 J4 J5 J6 J7 J8 J9 J10 J11 J12 J13 J14 J15 J16 J17 J18
K2 K3 K4 K5 K6 K7 K8 K9 K10 K11 K12 K13 K14 K15 K16 K17 K18
L2 L3 L4 L5 L6 L7 L8 L9 L10 L11 L12 L13 L14 L15

Disabled seats available : A1, C1 , C17

但我不知道如何很好地工作群比?你知道吗


Tags: andina2forb2a3rowsa4
1条回答
网友
1楼 · 发布于 2024-04-20 11:54:08

既然您想以不同的方式输出残疾人座椅,为什么不单独进行:

    cur.execute("SELECT * FROM seats WHERE Day = 'S' AND Booked = 'N' AND Disabled = 'N'")
    for letter, rows in groupby(cur, key=lambda r: r[0][0]):
        print ' '.join([r[0] for r in rows])
    cur.execute("SELECT * FROM seats WHERE Day = 'S' AND Booked = 'N' AND Disabled = 'Y'")
    print 'Disabled seats available : ', ', '.join([r[0] for r in cur])

相关问题 更多 >