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