Bạn có thể tách một biến Python không?

🚀Tóm tắt. Tách chuỗi đã cho bằng hàm

# Given String
text = 'Hello World'

# Expected Output:
Number of split strings:  2
x = Hello
y = World
0 và sau đó giải nén các mục của danh sách được trả về bởi phương thức tách thành các biến khác nhau

Ví dụ tối thiểu

txt = 'one,two,three'
x,y,z = txt.split[',']
print[x,y,z]

# one two three

Xây dựng vấn đề

📝Vấn đề. Cho một chuỗi. Làm thế nào bạn sẽ tách chuỗi và sau đó lưu trữ các chuỗi đã tách thành các biến khác nhau?

ví dụ 1

# Given String
text = 'Hello World'

# Expected Output:
Number of split strings:  2
x = Hello
y = World

Trong vấn đề trên, chuỗi đã cho là đơn giản và rõ ràng là cần có hai biến để lưu trữ các chuỗi đã phân tách. Do đó, bạn cần tạo hai biến để lưu trữ hai chuỗi con đã tách

ví dụ 2

# Given String
text = 'KBDNM-R8CD9-RK366-WFM3X-C7GXK'
# Expected Output:
key_1 = KBDNM
key_2 = R8CD9
key_3 = RK366
key_4 = WFM3X
key_5 = C7GXK

Trong bài toán trên, dấu phân cách dùng để tách chuỗi là “-“. Số lượng biến ở đây rất khó tìm [giả sử nếu đó là một chuỗi thậm chí còn dài hơn. ]. Làm thế nào bạn sẽ tách chuỗi trong trường hợp như vậy và lưu trữ chúng vào các biến khác nhau?

cảnh 1

Hãy xem giải pháp cho ví dụ 1

Giải pháp. Vì số lượng biến là cố định, tôi. e. , chúng tôi có một ý tưởng hợp lý về số lượng biến cần thiết, bạn phải sử dụng hàm

# Given String
text = 'Hello World'

# Expected Output:
Number of split strings:  2
x = Hello
y = World
0 trên chuỗi đã cho để chia chuỗi đã cho thành hai mục và lưu trữ chúng trong danh sách. Giải nén các giá trị này thành hai biến sao cho mục đầu tiên sẽ được lưu trữ trong một biến trong khi mục thứ hai sẽ được lưu trữ trong một biến khác

Mã số

# Given String
text = 'Hello World'
x, y = text.split[]
print[x]
print[y]

# OUTPUT
# Hello
# World

Cái giếng. Điều đó thật dễ dàng. Hãy đi sâu vào vấn đề phức tạp hơn

kịch bản 2

✨Cách 1. Tách và tạo từ điển

Tiếp cận. Ý tưởng ở đây là phân tách danh sách bằng cách sử dụng “-” làm dấu phân cách và sau đó tìm độ dài của danh sách kết quả được trả về bởi hàm tách. Sau đó, sử dụng độ dài này để tạo một danh sách khác chứa tất cả các tên biến dưới dạng các mục bên trong nó. Điều này có thể được thực hiện với một vòng lặp for đơn giản. Do đó, bạn sẽ có hai danh sách một cách hiệu quả - một danh sách lưu trữ các chuỗi phân tách và một danh sách khác lưu trữ các tên biến sẽ lưu trữ các chuỗi phân tách

Sau đó, bạn có thể tạo một từ điển trong hai danh sách sao cho các khóa trong từ điển này sẽ là các mục của danh sách chứa tên biến và các giá trị trong từ điển này sẽ là các mục của danh sách chứa các chuỗi phân tách

Mã số

# Given String
text = 'KBDNM-R8CD9-RK366-WFM3X-C7GXK'
# splitting the string using - as a separator
res = text.split['-']

# Naming and storing variables and values
name = []
for i in range[1, len[res]+1]:
    name.append['key_' +str[i]]
d = dict[zip[name, res]]
for key, value in d.items[]:
    print[key, "=", value]

đầu ra

key_1 = KBDNM
key_2 = R8CD9
key_3 = RK366
key_4 = WFM3X
key_5 = C7GXK

🌐Nên đọc. Cách chuyển đổi hai danh sách thành từ điển

✨Cách 2. Sử dụng __dict__

Hầu như tất cả các mô-đun đều có một thuộc tính đặc biệt được gọi là

# Given String
text = 'Hello World'

# Expected Output:
Number of split strings:  2
x = Hello
y = World
2, đây là một từ điển chứa bảng ký hiệu của mô-đun. Nó thực chất là một từ điển hoặc một đối tượng ánh xạ được sử dụng để lưu trữ các thuộc tính [có thể ghi] của một đối tượng

Vì vậy, bạn có thể tạo một lớp và sau đó tiếp tục tạo một thể hiện của lớp này có thể được sử dụng để đặt các thuộc tính khác nhau. Sau khi bạn tách chuỗi đã cho, đồng thời tạo danh sách chứa tên biến [như đã thực hiện trong giải pháp trước], bạn có thể tiếp tục và nén hai danh sách và sử dụng phương thức

# Given String
text = 'Hello World'

# Expected Output:
Number of split strings:  2
x = Hello
y = World
3 để gán biến và giá trị của chúng. . Một lần, bạn đã thiết lập các thuộc tính [i. e. tên biến và giá trị của chúng] và gắn chúng vào đối tượng, bạn có thể truy cập chúng bằng cách sử dụng
# Given String
text = 'Hello World'

# Expected Output:
Number of split strings:  2
x = Hello
y = World
2 tích hợp dưới dạng
# Given String
text = 'Hello World'

# Expected Output:
Number of split strings:  2
x = Hello
y = World
5

Mã số

# Given String
text = 'KBDNM-R8CD9-RK366-WFM3X-C7GXK'
# splitting the string using - as a separator
res = text.split['-']
# length of split string list
x = len[res]
# variable creation and value assignment
name = []
for i in range[1, x + 1]:
    name.append['key_' + str[i]]
class Record[]:
    pass
r = Record[]
for name, value in zip[name, res]:
    setattr[r, name, value]
for key, value in r.__dict__.items[]:
    print[key, "=", value]

đầu ra

key_1 = KBDNM
key_2 = R8CD9
key_3 = RK366
key_4 = WFM3X
key_5 = C7GXK

✨Cách 3. Sử dụng toàn cầu

Hàm globals[] trả về một từ điển chứa tất cả các biến trong phạm vi toàn cầu với tên biến là khóa và giá trị được gán cho biến sẽ là giá trị trong từ điển. Bạn có thể tham khảo từ điển này và thêm các biến mới theo tên chuỗi [globals[][‘a’] = ‘b’ đặt biến a bằng “b”]

Vì toàn cầu trả về một từ điển chứa tất cả các biến trong phạm vi toàn cầu, một cách giải quyết khác để chỉ nhận các biến mà chúng ta đã chỉ định là trích xuất các cặp khóa-giá trị “N” cuối cùng từ từ điển này trong đó “N” là độ dài của danh sách chuỗi phân tách

Mã số

# Given String
text = 'KBDNM-R8CD9-RK366-WFM3X-C7GXK'
# splitting the string using - as a separator
res = text.split['-']
# length of split string list
x = len[res]

name = []
for i in range[1, x + 1]:
    name.append['key_' + str[i]]
for idx, value in enumerate[res]:
    globals[]["key_" + str[idx + 1]] = value

x = 0
for i in reversed[globals[]]:
    print[i, "=", globals[][i]]
    x = x+1
    if x == 5:
        break

đầu ra

key_5 = C7GXK
key_4 = WFM3X
key_3 = RK366
key_2 = R8CD9
key_1 = KBDNM

⚠️Chú ý. Giải pháp này không được khuyến nghị trừ khi đây là tùy chọn duy nhất còn lại. Tôi đã đề cập đến điều này chỉ vì nó giải quyết được mục đích. Tuy nhiên, đó chắc chắn không phải là cách tốt nhất để tiếp cận vấn đề đã cho

Phần kết luận

Tôi hy vọng các giải pháp được đề cập trong bài viết này đã giúp bạn. Hãy đăng ký và theo dõi các bài viết và giải pháp thú vị hơn trong tương lai. Mã hóa vui vẻ. 🙂

Shubham Sayon

Tôi là một người tạo nội dung và Blogger Python chuyên nghiệp. Tôi đã xuất bản nhiều bài báo và tạo các khóa học trong một khoảng thời gian. Hiện tại tôi đang làm việc với tư cách là một freelancer toàn thời gian và tôi có kinh nghiệm trong các lĩnh vực như Python, AWS, DevOps và Networking

split[] lấy 2 đối số được không?

phương thức split[] chấp nhận hai đối số . Đối số tùy chọn đầu tiên là dấu tách, chỉ định loại dấu tách sẽ sử dụng để tách chuỗi. Nếu đối số này không được cung cấp, thì giá trị mặc định là bất kỳ khoảng trắng nào, nghĩa là chuỗi sẽ tách ra bất cứ khi nào.

Bạn có thể tách một đối tượng trong Python không?

Phương thức tách chuỗi Python[]. Phương thức split[] phân tách chuỗi từ dấu tách đã chỉ định và trả về một đối tượng danh sách có các phần tử chuỗi . Dấu phân cách mặc định là bất kỳ ký tự khoảng trắng nào như dấu cách, \t , \n , v.v.

Bạn có thể chia hai chuỗi trong Python không?

Tách một chuỗi trong Python khá đơn giản. Bạn có thể đạt được điều này bằng hàm "split[]" tích hợp sẵn của Python. Phương thức split[] trong Python phân tách từng từ trong một chuỗi bằng dấu phẩy, biến nó thành một danh sách các từ

split[] có phải là một hàm trong Python không?

Hàm thao tác chuỗi trong Python được sử dụng để chia chuỗi lớn hơn thành nhiều chuỗi nhỏ hơn được gọi là hàm split[] trong Python . Hàm split[] trả về các chuỗi dưới dạng danh sách.

Chủ Đề