নেস্টেড লিস্ট (ম্যাট্রিক্স) এর সব ইন্টিজার এলিমেন্টকে স্ট্রিংে রূপান্তর করার জন্য নেস্টেড লিস্ট কম্প্রিহেনশন এবং str() ফাংশন ব্যবহার করা হয়।
উদাহরণ
my_list = [[14, 25, 17], [40, 28, 13], [59, 44, 66], [29, 33, 16]]
print("ইন্টিজার ম্যাট্রিক্স:")
for row in my_list:
print(" ", row)
# নেস্টেড লিস্ট কম্প্রিহেনশন
str_matrix = [[str(val) for val in row] for row in my_list]
print("\nস্ট্রিং ম্যাট্রিক্স:")
for row in str_matrix:
print(" ", row)
আউটপুট
ইন্টিজার ম্যাট্রিক্স:
[14, 25, 17]
[40, 28, 13]
[59, 44, 66]
[29, 33, 16]
স্ট্রিং ম্যাট্রিক্স:
['14', '25', '17']
['40', '28', '13']
['59', '44', '66']
['29', '33', '16']
ব্যাখ্যা
- বাইরের লিস্ট কম্প্রিহেনশন — প্রতিটি সারি (row) এর জন্য
- ভেতরের লিস্ট কম্প্রিহেনশন — সারির প্রতিটি এলিমেন্টের জন্য
str(val)— ইন্টিজারকে স্ট্রিংে রূপান্তর
Map ফাংশন ব্যবহার
# map(str, row) দিয়ে সারি ভরকে স্ট্রিংে রূপান্তর
str_matrix = [list(map(str, row)) for row in my_list]
# পুরো ম্যাট্রিক্সে map
str_matrix = list(map(lambda row: list(map(str, row)), my_list))
NumPy ব্যবহার (দ্রুত, বড় ম্যাট্রিক্সের জন্য)
import numpy as np
arr = np.array(my_list)
str_arr = arr.astype(str)
print(str_arr)
# [['14' '25' '17']
# ['40' '28' '13']
# ['59' '44' '66']
# ['29' '33' '16']]
# আবার লিস্টে
str_matrix = str_arr.tolist()
JSON সিরিয়ালাইজেশনের জন্য
import json
json_str = json.dumps(my_list) # অটোমেটিক ইন্ট→স্ট্রিং
# '[[14, 25, 17], [40, 28, 13], [59, 44, 66], [29, 33, 16]]'
# JSON-এ সংখ্যা কোটেশন ছাড়া থাকে, কিন্তু পাইথন লিস্টে স্ট্রিং হয়ে যায়