Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Mengembalikan Senarai Pratakrif dalam Python Berdasarkan Input Rentetan?

Bagaimanakah Saya Boleh Mengembalikan Senarai Pratakrif dalam Python Berdasarkan Input Rentetan?

DDD
Lepaskan: 2024-12-18 22:04:15
asal
352 orang telah melayarinya

How Can I Return a Predefined List in Python Based on String Input?

Mengembalikan Nilai Pra-ditentukan Berdasarkan Input Rentetan

Dalam Python, kadangkala kita menghadapi keperluan untuk mengembalikan senarai tertentu berdasarkan rentetan yang disediakan. Ini boleh dicapai menggunakan pelbagai kaedah, salah satunya melibatkan penggunaan kamus.

Menggunakan Kamus

Pendekatan yang paling mudah ialah mentakrifkan kamus di mana kekunci mewakili input rentetan dan nilai yang sepadan ialah senarai yang diingini.

get_ext = {'text': ['txt', 'doc'],
            'audio': ['mp3', 'wav'],
            'video': ['mp4', 'mkv']
}
Salin selepas log masuk

Untuk mendapatkan semula senarai yang dikehendaki, cuma akses yang sesuai kunci:

get_ext['video']
# Output: ['mp4', 'mkv']
Salin selepas log masuk

Menggunakan Fungsi dengan Kamus

Jika lebih suka penyelesaian berasaskan fungsi, anda boleh menetapkan kaedah get kamus kepada pembolehubah:

get_ext = get_ext.get
Salin selepas log masuk

Fungsi ini akan mengembalikan senarai untuk kunci yang ditentukan atau Tiada jika kunci itu tidak wujud.

get_ext('video')
# Output: ['mp4', 'mkv']
Salin selepas log masuk

Menggunakan Tersuai Nilai Lalai

Untuk menentukan nilai lalai tersuai untuk kunci yang tidak diketahui, pertimbangkan untuk menggunakan fungsi pembalut:

def get_ext(file_type):
    types = {'text': ['txt', 'doc'],
             'audio': ['mp3', 'wav'],
             'video': ['mp4', 'mkv']
    }

    return types.get(file_type, [])
Salin selepas log masuk

Fungsi ini akan mengembalikan senarai kosong untuk kunci yang tidak diketahui.

Menangani Kebimbangan Prestasi

Untuk aplikasi yang mementingkan prestasi, perlu diperhatikan bahawa kamus jenis dalam fungsi pembungkus dicipta semula setiap masa fungsi dipanggil. Untuk mengoptimumkan ini, anda boleh mencipta kelas dan memulakan kamus jenis dalam pembina, memastikan ia dibuat sekali sahaja.

class get_ext(object):
    def __init__(self):
        self.types = {'text': ['txt', 'doc'],
                      'audio': ['mp3', 'wav'],
                      'video': ['mp4', 'mkv']
        }

    def __call__(self, file_type):
        return self.types.get(file_type, [])

get_ext = get_ext()
Salin selepas log masuk

Pendekatan berasaskan kelas ini membolehkan pengubahsuaian mudah bagi jenis fail yang diiktiraf sambil mengekalkan kecekapan prestasi .

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengembalikan Senarai Pratakrif dalam Python Berdasarkan Input Rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan