কোনও শব্দকে তালিকায় বিভক্ত করার জন্য কি অজগরের কোনও কাজ আছে? [নকল]


101

একটি শব্দকে একক বর্ণের তালিকায় বিভক্ত করার জন্য অজগরটিতে কি কোনও কার্য রয়েছে? যেমন:

s="Word to Split"

পেতে

wordlist=['W','o','r','d','','t','o' ....]

এই ডকুমেন্টেশনটি কেবলমাত্র দেখুন

6
পুরানো থ্রেড, তবে এটি উল্লেখ করার মতো: বেশিরভাগ সময় আপনার এটি করার প্রয়োজন হয় না। পাইথন স্ট্রিংয়ের অক্ষরগুলি সরাসরি অর্থাত্ একটি তালিকা হিসাবে অ্যাক্সেস করা যায়। s[2]'আর', এবং s[:4]'ওয়ার্ড' এবং len(s)এটি 13. আপনি এগুলি নিয়েও পুনরাবৃত্তি করতে পারেন:for char in s: print char
ডোমোরিগাতো

@ ডোমোরিগাটো কিন্তু স্ট্রিংয়ের বিভিন্ন আচরণের কারণে এবং মিউচ্যুটিটির জন্য তালিকার জন্য এটি করার কারণ হতে পারে।
ব্রেইনলুপটি

Def show_letters (শব্দ): শব্দে ch এর জন্য: মুদ্রণ (ch) show_letters ("হ্যালো")
বিডুট

উত্তর:


228
>>> list("Word to Split")
['W', 'o', 'r', 'd', ' ', 't', 'o', ' ', 'S', 'p', 'l', 'i', 't']

6
"ওয়ার্ড টু স্প্লিট"। স্প্লিট ('') কেন একই জিনিসটি করে না এমন কোনও কারণ আপনি জানেন। এটি হয় না, তবে সত্যিই এটির মতো হওয়া উচিত।
ওয়াল্টার নিসসেন

4
@ ওয়াল্টার নিসসেন: চেষ্টা করার সময় আমি "ভ্যালুয়েরর: খালি বিভাজক" পাই। খালি রেজেক্স ভয়ঙ্করভাবে ভাল সংজ্ঞায়িত হয় না।
গ্রেগ হিউগিল

split()চরিত্রগুলি ব্যবহার করার জন্য কোনও ডিলিমিটার নেই ? split()দ্বিতীয় যুক্তি ম্যাক্সস্প্লিট নেয় তবে এর সমতুল্য নেই list()। অবশ্যই চারপাশে কাজ রয়েছে ...
Chris_Rands

20

সবচেয়ে সহজ উপায় সম্ভবত কেবল ব্যবহার করা list(), তবে কমপক্ষে অন্য একটি বিকল্পও রয়েছে:

s = "Word to Split"
wordlist = list(s)               # option 1, 
wordlist = [ch for ch in s]      # option 2, list comprehension.

তাদের উভয়েরই আপনার যা প্রয়োজন তা দেওয়া উচিত:

['W','o','r','d',' ','t','o',' ','S','p','l','i','t']

যেমনটি বলা হয়েছে, প্রথমটি সম্ভবত আপনার উদাহরণের পক্ষে সর্বাধিক পছন্দনীয় তবে ব্যবহারের ক্ষেত্রে রয়েছে যেগুলি পরবর্তী জটিল জিনিসগুলির জন্য বেশ সুবিধাজনক হতে পারে যেমন আপনি যদি আইটেমগুলিতে কিছু স্বেচ্ছাচারী ফাংশন প্রয়োগ করতে চান যেমন:

[doSomethingWith(ch) for ch in s]


4

নিয়মগুলির অপব্যবহার, একই ফলাফল: (এক্স টু এক্স ওয়ার্ড টু স্প্লিট)

আসলে একটি পুনরাবৃত্তি, একটি তালিকা নয়। তবে সম্ভবত আপনি যত্ন করবেন না সম্ভবত।


অবশ্যই, 'Word to split'সরাসরি ব্যবহার করাও তার নিজস্ব চরিত্রগুলির একটি পুনরাবৃত্তিযোগ্য, তাই জেনারেটরের এক্সপ্রেশনটি কেবল অর্থহীন মোড়ানো।
শ্যাডোর্যাঞ্জার

1
text = "just trying out"

word_list = []

for i in range(0, len(text)):
    word_list.append(text[i])
    i+=1

print(word_list)

['j', 'u', 's', 't', ' ', 't', 'r', 'y', 'i', 'n', 'g', ' ', 'o', 'u', 't']

0

Def গণনা (): তালিকা = 'oixfjhibokxnjfklmhjpxesriktglanwekgfvnk'

word_list = []
# dict = {}
for i in range(len(list)):
    word_list.append(list[i])
# word_list1 = sorted(word_list)
for i in range(len(word_list) - 1, 0, -1):
    for j in range(i):
        if word_list[j] > word_list[j + 1]:
            temp = word_list[j]
            word_list[j] = word_list[j + 1]
            word_list[j + 1] = temp
print("final count of arrival of each letter is : \n", dict(map(lambda x: (x, word_list.count(x)), word_list)))

0

সবচেয়ে সহজ বিকল্পটি হল কেবল স্পিট () কমান্ড ব্যবহার করা। তবে আপনি যদি এটি ব্যবহার করতে না চান বা বাজারের কোনও কারণে এটি ডোজ কাজ না করে তবে আপনি সর্বদা এই পদ্ধতিটি ব্যবহার করতে পারেন।

word = 'foo'
splitWord = []

for letter in word:
    splitWord.append(letter)

print(splitWord) #prints ['f', 'o', 'o']
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.