ต้องการจัดข้อมูลใน Python ให้มันเพิ่ม keyเเละก็แบ่งข้อมูลออกมา

แนะนำ สอบถาม ภาษา C สำหรับผู้เริ่มต้น ภาษา Java ภาษา Python

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

ต้องการจัดข้อมูลใน Python ให้มันเพิ่ม keyเเละก็แบ่งข้อมูลออกมา

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan »

ต้องการจะจัดข้อมูลออกมาจาก page ค่ะ page ละ 2 เเถว จะทำยังไงได้บ้างค่ะ จะ loop ยังไงให้มันเเบ่งข้อมูลออกมาเเละเพิ่ม key ของ page ขึ้นเรื่อยๆ

โค้ด: เลือกทั้งหมด

d = {'x': 1, 'y': 2, 'z': 3,'a':4,'g':e} 
ผลที่อยากได้

โค้ด: เลือกทั้งหมด

[{'data': {'y': 2, 'x': 1}, 'page': 1}, {'data': {'y': 3, 'x': 4}, 'page': 2}]

ผลที่อยากได้อีกเเบบ

โค้ด: เลือกทั้งหมด

item = { 'a':222,'b':333,'c': 444, 'd': 555,'e': 777, 'f': 888}

parent= {'x': 1, 'y': 2, 'z': 3,'a':4,'g':e} 

[
{'data': {'y': 2, 'x': 1, 'g': {'a': 222, 'b': 333}}, 'page': 1},
 {'data': {'y': 2, 'x': 1, 'g': {'c': 444, 'd': 555}}, 'page': 2}
 {'data': {'y': 3, 'x': 4, 'g': {'e': 777, 'f': 888}}, 'page': 3}
]
ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

Re: ต้องการจัดข้อมูลใน Python ให้มันเพิ่ม keyเเละก็แบ่งข้อมูลออกมา

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan »

ทดลอง ใช้วิธีนี้
item_ids = [1,2,3,11,22,33,4,44,5,66,55]
list_of_lists = self.get_rows(item_ids, 3)

โค้ด: เลือกทั้งหมด

    def get_rows(self, sequence, num):
        count = 1
        rows = []
        cols = []
        parent_data = []
        i = []
        for item in sequence:

            if count == num:
                cols.append(item)
                rows.append(cols)
                cols = []
                count = 1
            else:
                cols.append(item)
                count += 1

        if count > 0:
            rows.append(cols)
        return rows
ลองเเล้วได้ผลที่ได้

โค้ด: เลือกทั้งหมด

[[1, 2, 3], [11, 22, 33], [4, 44, 5], [66, 55]]
ผลที่อยากได้จริง
1. ต้องจัดกลุ่มข้อมูลก่อน

โค้ด: เลือกทั้งหมด

{'item': [{'id': 1},{'id': 2},{'id': 3},{'id': 4},{'id': 5}], 'categ_id': 1}

โค้ด: เลือกทั้งหมด

{'item': [{'id': 11},{'id': 22},{'id': 33},{'id': 44},{'id': 55},{'id': 66}], 'categ_id': 2}
2.หลังจากจัดกลุ่มเสร็จอยากจะเเบ่งข้อมูลออกมาเป็นหน้าๆ เเบบนี้ค่ะ

โค้ด: เลือกทั้งหมด

{'page':1,'data':{'item': [{'id': 1},{'id': 2},{'id': 3}], 'categ_id': 1}}

โค้ด: เลือกทั้งหมด

{'page':2,'data':{'item': [{'id': 4},{'id': 5}], 'categ_id': 1}}

โค้ด: เลือกทั้งหมด

{'page':3,'data':{'item': [{'id': 11},{'id': 22},{'id': 33}], 'categ_id': 2}} 

โค้ด: เลือกทั้งหมด

{'page':4,'data':{'item': [{'id': 55},{'id': 66}], 'categ_id': 2}} 
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41232
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: ต้องการจัดข้อมูลใน Python ให้มันเพิ่ม keyเเละก็แบ่งข้อมูลออกมา

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

สร้างตัวแปลเพื่อให้ได้ผล ที่ต้องการ ก่อน แล้ว เอาแต่ละตัวแปลย่อยแต่ละตัว ค่อยๆ assign ให้ตัวแปล dict อีกที
ลองแบบ static ให้ได้ก่อน ค่อยทำ loop ต่อ ทีหลัง
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 89