Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Berikut ialah beberapa pilihan tajuk, dengan mengingati format soalan-jawapan dan fokus artikel untuk mengumpulkan pasangan data dalam Python: Pilihan 1 (Umum): * Cara Menghimpunkan Pasangan Data dalam Python Berdasarkan S

Berikut ialah beberapa pilihan tajuk, dengan mengingati format soalan-jawapan dan fokus artikel untuk mengumpulkan pasangan data dalam Python: Pilihan 1 (Umum): * Cara Menghimpunkan Pasangan Data dalam Python Berdasarkan S

DDD
DDDasal
2024-10-27 09:04:30825semak imbas

Here are a few title options, keeping in mind the question-answer format and the article's focus on grouping data pairs in Python:

Option 1 (General):

* How to Group Data Pairs in Python Based on Specific Indices?

Option 2 (Specific to the Solution):

Kumpulan Python Oleh

Masalah:

Diberi satu set pasangan data, kumpulkan mereka berdasarkan nilai pada indeks yang ditentukan dan tukarkannya ke dalam format yang diingini.

Penyelesaian:

Untuk mengumpulkan pasangan data mengikut jenisnya dengan cekap, ikut langkah berikut:

Langkah 1: Buat Kamus

Buat kamus menggunakan defaultdict daripada modul koleksi, dengan kunci ialah jenis dan nilainya ialah senarai nilai:

<code class="python">from collections import defaultdict

res = defaultdict(list)
for v, k in input:
    res[k].append(v)</code>

Langkah 2: Tukar Kamus kepada Format Yang Diingini

Tukar kamus yang dibuat kepada senarai kamus dengan format yang dikehendaki:

<code class="python">result = [{'type': k, 'items': v} for k,v in res.items()]</code>

Pertimbangan Tambahan:

  • Untuk mengekalkan susunan asal kekunci dalam versi Python sebelum 3.7, gunakan OrderedDict daripada modul koleksi.
  • Untuk Python versi 3.7 dan ke atas, kamus biasa mengekalkan susunan sisipan.

Pendekatan Alternatif Menggunakan **itertools.groupby()**:

Pendekatan alternatif melibatkan penggunaan fungsi itertools.groupby, tetapi memerlukan data input diisih terlebih dahulu.

<code class="python">import operator as itemgetter
import itertools

sorted_input = sorted(input, key=itemgetter(1))
groups = itertools.groupby(sorted_input, key=itemgetter(1))
result = [{'type': k, 'items':[x[0] for x in v]} for k, v in groups]</code>

Atas ialah kandungan terperinci Berikut ialah beberapa pilihan tajuk, dengan mengingati format soalan-jawapan dan fokus artikel untuk mengumpulkan pasangan data dalam Python: Pilihan 1 (Umum): * Cara Menghimpunkan Pasangan Data dalam Python Berdasarkan S. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn