Bagaimana untuk menukar rentetan ke senarai dalam python
習慣沉默
習慣沉默 2017-05-18 10:57:49
0
5
650

Cara menukar rentetan seperti a = "我是中国人",转换成列表li =["我","是","中","国","人"]

a = "我是一个中国人"
li = list(a)
print li

Keluaran ialah

['\xe6', '\x88', '\x91', '\xe6', '\x98', '\xaf', '\xe4', '\xb8', '\x80', '\xe4', '\xb8', '\xaa', '\xe4', '\xb8', '\xad', '\xe5', '\x9b', '\xbd', '\xe4', '\xba', '\xba']

Saya melaksanakannya dengan sangat mudah menggunakan JavaScript

var a = "我是中国人"
li = a.split("")
console.log(li) // >>>["我","是","中","国","人"]

Tidak tahu bagaimana untuk melaksanakannya dalam python?

習慣沉默
習慣沉默

membalas semua(5)
曾经蜡笔没有小新

Anda boleh mula menyahkod rentetan menjadi unicode, 再用list

# 第一种:
>>> a = u"我是中国人"
>>> s = list(a)
>>> print s
[u'\u6211', u'\u662f', u'\u4e2d', u'\u56fd', u'\u4eba']
>>> print s[1]
是

# 第二种
>>> a = "我是中国人"
>>> s = a.decode('utf8')
>>> s = list(a.decode('utf8'))
>>> s
[u'\u6211', u'\u662f', u'\u4e2d', u'\u56fd', u'\u4eba']
>>> print s[1]
是
迷茫

Menggunakan python3

巴扎黑

python3 tidak mempunyai masalah pengekodan

In [20]: a
Out[20]: '我是中国人'

In [21]: li=list(a)

In [22]: li
Out[22]: ['我', '是', '中', '国', '人']
Peter_Zhu
# -*- coding: utf-8 -*-
def unicode_chars(s):
    if not isinstance(s, unicode):
        s = s.decode("utf-8")
    return [c for c in s]

print unicode_chars("我是中国人")[0]
print unicode_chars(u"我是中国人")[1]
print unicode_chars(r"我是中国人")[2]
print unicode_chars(b"我是中国人")[3]
#>> 我
#>> 是
#>> 中
#>> 国
小葫芦

1 Tidak perlu menyenaraikan(a), hanya

for each in a:   
    print each
      

Itu sahaja, ia tiada kaitan dengan pengekodan, dan juga tidak ada kaitan dengan python2 atau python3

2. Anda boleh secara langsung menganggap a sebagai senarai Untuk mendapatkannya, hanya gunakan a[num] untuk menghirisnya boleh menggunakan [2:3]

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!