পাইথনের স্ট্রিং হিসাবে বিভিন্ন ধরণের আইটেমের তালিকায় যোগদান করুন


292

আমার আইটেমের তালিকায় যোগ দিতে হবে। তালিকার অনেকগুলি আইটেম হ'ল একটি ফাংশন থেকে প্রত্যাবর্তিত পূর্ণসংখ্যার মান; অর্থাত,

myList.append(munfunc()) 

তালিকার সাথে যোগ দেওয়ার জন্য আমি কীভাবে প্রত্যাবর্তিত ফলাফলকে স্ট্রিংয়ে রূপান্তর করব?

প্রতিটি পূর্ণসংখ্যার মানের জন্য আমাকে কি নিম্নলিখিত কাজগুলি করতে হবে:

myList.append(str(myfunc()))

Ingালাই সমস্যার সমাধান করার জন্য আরও কি পাইথোনিক উপায় আছে?


3
দয়া করে নিশ্চিত করুন যে আপনি ভাল ব্যাকরণ ব্যবহার করেছেন যাতে লোকেরা বুঝতে পারে যে আপনি কী জিজ্ঞাসা করছেন এবং / অথবা পোস্ট করার আগে আপনার প্রশ্নটি পুনরায় পড়তে পারে।
অ্যালিওরকোড

উত্তর:


535

কলিং str(...)হ'ল কিছুকে স্ট্রিতে রূপান্তর করার পাইথনিক পদ্ধতি।

আপনি স্ট্রিংগুলির তালিকা কেন চান তা বিবেচনা করতে পারেন। পরিবর্তে আপনি এটি পূর্ণসংখ্যার একটি তালিকা হিসাবে রাখতে পারেন এবং কেবলমাত্র পূর্ণসংখ্যার স্ট্রিংগুলিতে প্রদর্শিত করতে গেলে তাদের রূপান্তর করতে পারে। উদাহরণস্বরূপ, আপনার যদি পূর্ণসংখ্যার তালিকা থাকে তবে আপনি সেগুলি একে একে ফর-লুপে রূপান্তর করতে এবং এর সাথে যুক্ত হতে পারেন ,:

print(','.join(str(x) for x in list_of_ints))

174

পূর্ণসংখ্যার স্ট্রিমে যাওয়ার সাথে কোনও ভুল নেই। একটি কারণ যা আপনি এটি না করতে পারেন তা হ'ল মাইলিস্টটি সত্যিকারের পূর্ণসংখ্যার একটি তালিকা হতে পারে যেমন তালিকার মানগুলি যোগ করা যুক্তিসঙ্গত হবে। সেক্ষেত্রে আপনার ইনটগুলি মাইলিস্টে যুক্ত করার আগে সেটিকে পাস করবেন না। যদি আপনি সংযোজনের আগে স্ট্রিংগুলিতে রূপান্তর না করে শেষ করেন তবে আপনি এরকম কিছু করে একটি বড় স্ট্রিং তৈরি করতে পারেন

', '.join(map(str, myList))

36
সম্ভবত ইংরেজি তার মাতৃভাষা নয়। আপনি যে আইটেমের মধ্যে রূপান্তর করছেন সেগুলির একটি তালিকায় যোগ দিতে তাঁর ইচ্ছা সম্পর্কে নিশ্চিত নন str? দয়া করে আপনার পার্সারে কিছু অস্পষ্ট যুক্তি যুক্ত করার প্রয়োজনের সম্ভাবনাটি বিবেচনা করুন ;-)
জন মাচিন

3
@ জন আমি এটি বিবেচনা করেছি, তবে তিনি যদি ইংরেজিতে ভাল হন তবে আমি তাকে আস্তে আস্তে চাপ দিতে চাইছিলাম এসও-তে ইংলিশের স্তরটি তার স্বাভাবিক স্তরে নিয়ে যেতে। আমি আমার উত্তর বিভিন্ন ব্যাখ্যা এবং পরিস্থিতিতে তিনি হতে পারে আতিথ্য নেই মনে হয়।
allyourcode

41

পাইথনে মানচিত্রের ফাংশন ব্যবহার করা যেতে পারে। এটি দুটি যুক্তি লাগে। প্রথম যুক্তি হ'ল ফাংশন যা তালিকার প্রতিটি উপাদানের জন্য ব্যবহার করতে হয়। দ্বিতীয় যুক্তি হচ্ছে পুনরাবৃত্তিযোগ্য

a = [1, 2, 3]   
map(str, a)  
['1', '2', '3']

তালিকাকে স্ট্রিংয়ে রূপান্তরিত করার পরে আপনি তালিকাটিকে একক স্ট্রিংয়ের সাথে সংযুক্ত করতে সাধারণ যোগদান ফাংশনটি ব্যবহার করতে পারেন

a = map(str, a)    
''.join(a)      
'123'

10
a=[1,2,3]
b=[str(x) for x in a]
print b

উপরের পদ্ধতিটি তালিকাটিকে স্ট্রিংয়ে রূপান্তর করার সহজতম এবং সর্বাধিক সাধারণ উপায়। অন্য একটি ছোট পদ্ধতি হ'ল

a=[1,2,3]
b=map(str,a)
print b

4

এটি করার তিনটি উপায় রয়েছে।

ধরুন আপনি ক্রেটের একটি তালিকা পেয়েছেন

my_list = [100,200,300]
  1. "-".join(str(n) for n in my_list)
  2. "-".join([str(n) for n in my_list])
  3. "-".join(map(str, my_list))

তবে https://docs.python.org/2/library/timeit.html এ পাইথন ওয়েবসাইটে টাইমিটের উদাহরণ হিসাবে বলা হয়েছে মানচিত্রটি দ্রুততর is সুতরাং আমি আপনাকে ব্যবহার সুপারিশ করব"-".join(map(str, my_list))


2

আপনার সমস্যা বরং পরিষ্কার। সম্ভবত আপনি বিদ্যমান তালিকায় অন্য তালিকার সমস্ত উপাদান যুক্ত করতে প্রসারের সন্ধান করছেন:

>>> x = [1,2]
>>> x.extend([3,4,5])
>>> x
[1, 2, 3, 4, 5]

আপনি যদি পূর্ণসংখ্যাকে স্ট্রিংয়ে রূপান্তর করতে চান তবে str () বা স্ট্রিং ইন্টারপোলেশন ব্যবহার করুন, সম্ভবত একটি তালিকা বোঝার সাথে সংযুক্ত, অর্থাৎ

>>> x = ['1', '2']
>>> x.extend([str(i) for i in range(3, 6)])
>>> x
['1', '2', '3', '4', '5']

এগুলি সমস্তকে পাইথোনিক হিসাবে বিবেচনা করা হয় (ঠিক আছে, একটি জেনারেটরের এক্সপ্রেশনটি আরও বেশি পাইথোনিক তবে আসুন সরল এবং বিষয়টিতে থাকি)


2

উদাহরণ স্বরূপ:

lst_points = [[313, 262, 470, 482], [551, 254, 697, 449]]

lst_s_points = [" ".join(map(str, lst)) for lst in lst_points]
print lst_s_points
# ['313 262 470 482', '551 254 697 449']

আমার হিসাবে, আমি strপ্রতিটি স্ট্রিং তালিকার আগে একটি যুক্ত করতে চাই :

# here o means class, other four points means coordinate
print ['0 ' + " ".join(map(str, lst)) for lst in lst_points]
# ['0 313 262 470 482', '0 551 254 697 449']

বা একক তালিকা:

lst = [313, 262, 470, 482]
lst_str = [str(i) for i in lst]
print lst_str, ", ".join(lst_str)
# ['313', '262', '470', '482'], 313, 262, 470, 482

lst_str = map(str, lst)
print lst_str, ", ".join(lst_str)
# ['313', '262', '470', '482'], 313, 262, 470, 482

1

আপনার স্ট্রিং হিসাবে সংখ্যার দরকার নেই, কেবল এটি করুন:

functaulu = [munfunc(arg) for arg in range(loppu)]

পরে যদি আপনার স্ট্রিং হিসাবে এটি প্রয়োজন হয় তবে আপনি স্ট্রিং বা ফর্ম্যাট স্ট্রিং সহ এটি করতে পারেন:

print "Vastaus5 = %s" % functaulu[5]


-1

কেউ কীভাবে আসতে পছন্দ করে repr?
অজগর 3.7.2:

>>> int_list = [1, 2, 3, 4, 5]
>>> print(repr(int_list))
[1, 2, 3, 4, 5]
>>> 

যত্ন নিন যদিও এটি একটি সুস্পষ্ট উপস্থাপনা। একটি উদাহরণ দেখায়:

#Print repr(object) backwards
>>> print(repr(int_list)[::-1])
]5 ,4 ,3 ,2 ,1[
>>> 

পাইডোকস-রিপ্রে আরও তথ্য

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.