มีฟังก์ชันใน python เพื่อแบ่งคำออกเป็นรายการตัวอักษรเดี่ยวหรือไม่? เช่น:
s="Word to Split"
ที่จะได้รับ
wordlist=['W','o','r','d','','t','o' ....]
มีฟังก์ชันใน python เพื่อแบ่งคำออกเป็นรายการตัวอักษรเดี่ยวหรือไม่? เช่น:
s="Word to Split"
ที่จะได้รับ
wordlist=['W','o','r','d','','t','o' ....]
s[2]
เป็น 'r' และs[:4]
เป็น 'Word' และlen(s)
เป็น 13 คุณสามารถทำซ้ำได้เช่นกัน:for char in s: print char
คำตอบ:
>>> list("Word to Split")
['W', 'o', 'r', 'd', ' ', 't', 'o', ' ', 'S', 'p', 'l', 'i', 't']
split()
รับอักขระหรือไม่? split()
รับอาร์กิวเมนต์ที่สองmaxsplitsแต่ไม่มีค่าเทียบเท่ากับlist()
. แน่นอนว่ามีการแก้ไข ...
วิธีที่ง่ายที่สุดอาจเป็นเพียงการใช้งาน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]
ฟังก์ชันรายการจะทำสิ่งนี้
>>> list('foo')
['f', 'o', 'o']
การละเมิดกฎผลลัพธ์เดียวกัน: (x สำหรับ x ใน 'Word to split')
จริงๆแล้วตัววนซ้ำไม่ใช่รายการ แต่มีแนวโน้มว่าคุณจะไม่สนใจจริงๆ
'Word to split'
ใช้โดยตรงนั้นสามารถทำซ้ำได้ของอักขระของมันเองดังนั้นการแสดงออกของตัวสร้างจึงเป็นเพียงการตัดแบบไร้จุดหมาย
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']
นับ def (): list = '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)))
ตัวเลือกที่ง่ายที่สุดคือใช้คำสั่ง spit () อย่างไรก็ตามหากคุณไม่ต้องการใช้หรือปริมาณไม่ได้ผลด้วยเหตุผลบางประการของตลาดสดคุณสามารถใช้วิธีนี้ได้ตลอดเวลา
word = 'foo'
splitWord = []
for letter in word:
splitWord.append(letter)
print(splitWord) #prints ['f', 'o', 'o']