I have the following code:
stru = "۰۱۲۳۴۵۶۷۸۹"
strlist = stru.decode("utf-8").split()
print strlist[0]
my output is :
۰۱۲۳۴۵۶۷۸۹
But when i use:
print strlist[1]
I get the following traceback
:
IndexError: list index out of range
My question is, how can I split
my string
? Of course, remember I get my string
from a function
, consider it's a variable
?
The split()
method by default splits on whitespace. Therefore, strlist
is a list that contains the whole string in strlist[0]
, and one single element.
If you want a list with one element for each unicode codepoint you can do transform it into a list in different ways:
list(stru.decode("utf-8"))
[item for item in stru.decode("utf-8")]
for character in stru.decode("utf-8"):
...)You don't need to.
>>> print u"۰۱۲۳۴۵۶۷۸۹"[1]
۱
If you still want to...
>>> list(u"۰۱۲۳۴۵۶۷۸۹")
[u'\u06f0', u'\u06f1', u'\u06f2', u'\u06f3', u'\u06f4', u'\u06f5', u'\u06f6', u'\u06f7', u'\u06f8', u'\u06f9']
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With