Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk menukar rentetan untuk ditetapkan dalam Python

Bagaimana untuk menukar rentetan untuk ditetapkan dalam Python

王林
王林ke hadapan
2023-05-05 23:52:052453semak imbas

Tukar rentetan kepada koleksi dalam Python

Gunakan kelas set() untuk menukar rentetan kepada koleksi, seperti my_set = set(my_str). Kelas set() akan menukar rentetan kepada koleksi dengan memisahkan aksaranya.

my_str = 'one'

# ✅ 通过拆分字符将字符串转换为集合
my_set = set(my_str)
print(my_set)  # ????️ {'n', 'o', 'e'}

# ----------------------------------------------------

# ✅ 将字符串转换为不拆分字符的集合

my_set = set([my_str])
print(my_set)  # ????️ {'one'}

# ----------------------------------------------------

# ✅ 将字符串转换为具有多个元素的集合

my_str = 'one,two,three'

my_set = set(my_str.split(','))
print(my_set)  # ????️ {'one', 'two', 'three'}

# ----------------------------------------------------

# ✅ 将字符串转换为具有多个整数元素的集合

my_str = '1,2,3'

my_set = set(int(item) for item in my_str.split(','))
print(my_set)  # ????️ {1, 2, 3}

Bagaimana untuk menukar rentetan untuk ditetapkan dalam Python

Contoh pertama menggunakan kelas set() untuk menukar rentetan kepada objek koleksi dengan membelah aksara.

my_str = 'one'

my_set = set(my_str)
print(my_set)  # ????️ {'n', 'o', 'e'}

Setiap aksara dalam rentetan menjadi elemen koleksi yang berasingan.

Kaedah yang sama boleh digunakan jika kita perlu menukar rentetan kepada set integer.

my_str = '123'

my_set = set(int(digit) for digit in my_str)
print(my_set)  # ????️ {1, 2, 3}

Kami menggunakan ungkapan penjana untuk mengulangi rentetan.

Ekspresi penjana digunakan untuk melaksanakan beberapa operasi pada setiap elemen atau memilih subset elemen yang memenuhi syarat.

Dalam setiap lelaran kami menukar nombor semasa kepada integer dan mengembalikan hasilnya.

Sebagai alternatif, kita boleh menghantar senarai ke kelas set().

Untuk menukar rentetan kepada koleksi tanpa memisahkan aksara rentetan, hantar senarai yang mengandungi rentetan ke kelas set(), seperti my_set = set([my_str]). Koleksi akan mengandungi rentetan sebagai elemen individunya. Kelas

my_str = 'one'
my_set = set([my_str])
print(my_set)  # ????️ {'one'}

set() menerima parameter boleh lelar pilihan dan mengembalikan objek koleksi baharu yang unsur-unsurnya diambil daripada objek boleh lelar.

empty_set = set()
print(empty_set) # ????️ set()

my_set = set(['one', 'two', 'three'])
print(my_set) # ????️ {'three', 'two', 'one'}

Jika anda perlu membelah rentetan pada pembatas untuk mencipta objek koleksi, gunakan kaedah str.split().

my_str = 'one,two,three'

my_set = set(my_str.split(','))
print(my_set)  # ????️ {'one', 'two', 'three'}

Kami menggunakan kaedah str.split() untuk memisahkan rentetan pada setiap koma dan menghantar hasilnya kepada kelas set() untuk mencipta objek koleksi. Kaedah

my_str = 'one,two,three'

print(my_str.split(',')) # ????️ ['one', 'two', 'three']

str.split() membahagikan rentetan kepada senarai subrentetan menggunakan pembatas.

Kaedah ini mengambil 2 parameter berikut:

  • pemisah Pisahkan rentetan kepada subrentetan setiap kali pemisah berlaku

  • Jika pembatas tidak ditemui dalam rentetan, mengembalikan senarai yang mengandungi hanya 1 elemen.

    Jika kita perlu membahagikan rentetan kepada koleksi yang mengandungi unsur integer, kita boleh menggunakan ungkapan penjana.
    my_str = '1,2,3'
    
    my_set = set(int(item) for item in my_str.split(','))
    print(my_set)  # ????️ {1, 2, 3}
Kami menggunakan ungkapan penjana untuk mengulangi senarai dan menggunakan kelas
untuk menukar setiap item kepada integer. Objek

str.split()

mengandungi unsur integer.

Sambungan: Tukar rentetan kepada tatasusunan dalam Python

Gunakan kaedah

untuk menukar rentetan kepada tatasusunan, mis. Kaedah

akan membahagikan rentetan kepada senarai setiap kali pembatas yang disediakan berlaku. int()

string = 'www,jiyik,com'

# ✅ 将逗号分隔的字符串转换为数组
array = string.split(',')
print(array)  # ????️ ['www', 'jiyik', 'com']

# ---------------------------------------------

# ✅ 将空格分隔的字符串转换为数组
string = 'www jiyik com'
array = string.split(' ')
print(array)  # ????️ ['www', 'jiyik', 'com']

# ---------------------------------------------

# ✅ 将字符串转换为字符数组

string = 'jiyik'
array = list(string)
print(array)  # ????️ ['j', 'i', 'y', 'i', 'k']

# ---------------------------------------------

# ✅ 将字符串转换为整数数组

string = '1,2,3'
array = list(int(char) for char in string.split(','))
print(array)  # ????️ [1, 2, 3]

# ---------------------------------------------

# ✅ 将字符串转换为单元素数组
string = 'jiyikcom'

array = [string]
print(array) # ????️ ['jiyikcom']

set

Kami menggunakan kaedah

untuk menukar rentetan kepada tatasusunan.

kaedah str.split() membahagikan rentetan kepada senarai subrentetan menggunakan pembatas. str.split()array = string.split(',')Kaedah ini mengambil 2 parameter berikut: str.split()

Bagaimana untuk menukar rentetan untuk ditetapkan dalam Python

pemisah

Pisahkan rentetan kepada subrentetan setiap kali pemisah berlakustr.split()

maxsplit

Selesaikan pemisahan maksimum paling banyak (pilihan)
  • Ini ialah rentetan yang dipisahkan koma kepada Contoh tatasusunan. Kaedah

    string = 'www,jiyik,com'
    
    array = string.split(',')
    print(array)  # ????️ ['www', 'jiyik', 'com']
    
    string = 'www,jiyik,com'
    
    array = string.split(',')
    print(array)  # ????️ ['www', 'jiyik', 'com']

  • membelah rentetan setiap kali koma muncul.
  • Jika kita perlu menukar rentetan kepada tatasusunan perkataan, panggil kaedah tanpa sebarang parameter.

    string = 'www jiyik com'
    array = string.split()
    print(array)  # ????️ ['www', 'jiyik', 'com']

    Apabila tiada pembatas dihantar ke kaedah
  • , ia memisahkan rentetan input kepada satu atau lebih aksara ruang putih.

Jika pembatas yang disediakan tidak ditemui dalam rentetan, mengembalikan senarai yang mengandungi hanya 1 elemen.

Jika anda perlu menukar rentetan kepada tatasusunan aksara, gunakan kelas str.split().

string = 'jiyik'
array = list(string)
print(array)  # ????️ ['j', 'i', 'y', 'i', 'k']

Kelas senarai menerima objek boleh lelar dan mengembalikan objek senarai. str.split()

Jika kita mempunyai perwakilan rentetan tatasusunan dan perlu menukar rentetan itu kepada senarai sebenar, gunakan kaedah

. str.split()

from ast import literal_eval

my_str = '[1,2,3,4]'


my_list = literal_eval(my_str)
print(my_list)  # ????️ [1, 2, 3, 4]
print(type(my_list))  # ????️ <class &#39;list&#39;>

Jika kita perlu menukar rentetan kepada senarai integer, gunakan ungkapan penjana.

string = &#39;1,2,3&#39;
array = list(int(digit) for digit in string.split(&#39;,&#39;))
print(array)  # ????️ [1, 2, 3]

Kami menggunakan ungkapan penjana untuk mengulangi senarai yang diperoleh daripada kaedah

. list()

Ekspresi penjana digunakan untuk melaksanakan beberapa operasi pada setiap elemen atau memilih subset elemen yang memenuhi syarat.

ast.literal_eval()Dalam setiap lelaran, kami menggunakan kelas

untuk menukar nombor semasa kepada integer.

Atas ialah kandungan terperinci Bagaimana untuk menukar rentetan untuk ditetapkan dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam