একটি তালিকার সমস্ত স্ট্রিংকে ইনটেতে রূপান্তর করুন


603

পাইথনে, আমি একটি তালিকার সমস্ত স্ট্রিংকে পূর্ণসংখ্যায় রূপান্তর করতে চাই।

সুতরাং আমি যদি:

results = ['1', '2', '3']

আমি এটি কীভাবে করব:

results = [1, 2, 3]

উত্তর:


1171

map(পাইথন ২.x এ) ফাংশনটি ব্যবহার করুন :

results = map(int, results)

পাইথন 3 এ, আপনাকে ফলাফলটি mapএকটি তালিকাতে রূপান্তর করতে হবে :

results = list(map(int, results))

23
আমি উল্লেখ করতে চাই যে পাইলটটি ব্যবহারকে নিরুৎসাহিত করে map, তাই যদি আপনি কখনও সেই মানটি ব্যবহার করেন তবে তালিকা বোধগম্যতা ব্যবহার করতে প্রস্তুত করুন। :)
থারস্মমনার

6
বিপরীতটি হ'ল (স্ট্রিংয়ের তালিকার সাথে তালিকার একটি তালিকা রূপান্তর করতে): মানচিত্র (টিআরটি, ফলাফল)
আলি আইএসএসএ

12
আপনি এই উত্তরটি সহজ করতে পারেন: কেবল সর্বদা ব্যবহার করুন list(map(int, results)), এটি যে কোনও পাইথন সংস্করণে কাজ করে।
এমভিপি

377

একটি তালিকা বোধগম্যতা ব্যবহার করুন :

results = [int(i) for i in results]

যেমন

>>> results = ["1", "2", "3"]
>>> results = [int(i) for i in results]
>>> results
[1, 2, 3]

30
তালিকা বোধগম্যতাও দুর্দান্ত। ওপি করার - মানচিত্র এবং তালিকা ধী একটি চমৎকার বিপরীতে দেখার জন্য এখানে দেখুন: stackoverflow.com/questions/1247486/...
cheeken

3

তালিকা বোঝার চেয়ে কিছুটা বেশি প্রসারিত তবে একইভাবে দরকারী:

def str_list_to_int_list(str_list):
    n = 0
    while n < len(str_list):
        str_list[n] = int(str_list[n])
        n += 1
    return(str_list)

যেমন

>>> results = ["1", "2", "3"]
>>> str_list_to_int_list(results)
[1, 2, 3]

এছাড়াও:

def str_list_to_int_list(str_list):
    int_list = [int(n) for n in str_list]
    return int_list
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.