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

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

Susan Sarandon
Lepaskan: 2024-12-18 20:42:17
asal
458 orang telah melayarinya

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

Mengakses Pembolehubah mengikut Nama Rentetan

Masalah:

Anda inginkan fungsi yang mengembalikan a senarai yang dipratentukan berdasarkan input rentetan. Sebagai contoh, diberikan rentetan "audio", fungsi itu harus mengeluarkan senarai ['mp3', 'wav'].

Penyelesaian Paling Mudah dengan Kamus:

Kamus standard boleh memenuhi keperluan ini dengan mudah.

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

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

Menggunakan Fungsi:

Untuk aplikasi yang lebih maju, menggunakan fungsi mungkin lebih disukai.

Menetapkan Kaedah Dapatkan Kamus:

get_ext = get_ext.get

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

Membungkus Kamus Di Dalam a Fungsi:

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

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

Mencipta Kelas Tersuai untuk Diperluas:

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()

get_ext('audio')  # Returns ['mp3', 'wav']
Salin selepas log masuk

Ini membolehkan anda mengubah suai jenis fail secara dinamik.

get_ext.types['binary'] = ['bin', 'exe']

get_ext('binary')  # Returns ['bin', 'exe']
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Senarai Pratakrif Berdasarkan Input Rentetan dalam Python?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan