Tôi đang cố gắng chuyển đổi một mảng mà tôi đã lưu trữ trong cơ sở dữ liệu MySQL [dưới dạng chuỗi] thành một mảng tiêu chuẩn trong Python một ví dụ về ý tôi là:
Đây là những gì tôi nhận được từ cơ sở dữ liệu:
"['a',['b','c','d'],'e']" # this is a string in the format of an array that holds strings inside it.
Tôi cần loại bỏ mảng khỏi chuỗi để nó hoạt động giống như một mảng bình thường, bất kỳ trợ giúp nào cũng được đánh giá rất cao. Tôi không chắc liệu điều này có được trả lời ở nơi khác không, xin lỗi nếu tôi không thể tìm thấy nó. Cảm ơn
Khi được hỏi ngày 29 tháng 8 năm 2014 lúc 16:20Aug 29, 2014 at 16:20
0
Bạn có thể sử dụng ast.literal_eval
>>> from ast import literal_eval
>>> s = "['a',['b','c','d'],'e']"
>>> print[literal_eval[s]]
['a', ['b', 'c', 'd'], 'e']
Đã trả lời ngày 29 tháng 8 năm 2014 lúc 16:21Aug 29, 2014 at 16:21
6
Nếu bạn có thể chuyển đổi các trích dẫn đơn đó thành trích dẫn gấp đôi, bạn có thể sử dụng phân tích cú pháp JSON.
import json
obj1 = json.loads['["a", ["b", "c", "d"], "e"]']
Đã trả lời ngày 29 tháng 8 năm 2014 lúc 16:30Aug 29, 2014 at 16:30
Shashank Agarwalshashank AgarwalShashank Agarwal
2.6891 Huy hiệu vàng23 Huy hiệu bạc24 Huy hiệu đồng1 gold badge23 silver badges24 bronze badges
3
Cập nhật lần cuối vào ngày 25 tháng 8 năm 2021 lúc 07:02 tối
Python không có kiểu dữ liệu mảng sẵn có; Thay vào đó, bạn có thể chuyển đổi chuỗi Python thành Liệt kê. Do đó, bạn có thể coi một danh sách Python là một mảng trong ví dụ này.
Để chuyển đổi chuỗi thành mảng trong python, hãy sử dụng phương thức chuỗi.split []. Phương thức chuỗi .Split [] chia chuỗi từ dấu phân cách và trả về các phần tử chia làm mục danh sách riêng lẻ. Phương thức phân chia chuỗi python chia chuỗi thành một danh sách. Bạn có thể chỉ định phân tách; Bộ phân cách mặc định là bất kỳ khoảng trắng nào..split[] method. The String .split[] method splits the String from the delimiter and returns the splitter elements as individual list items. Python String split[] method splits the string into a list. You can specify the separator; the default separator is any whitespace.
Cú pháp
string.split[separator, maxsplit]
Thông số
Cả hai tham số là tùy chọn.
Nó lấy một dấu phân cách làm tham số tùy chọn được sử dụng để phân chia chuỗi. Theo mặc định, khoảng trắng là một dấu phân cách.
Tham số MAXSplit chỉ định số lượng việc chia tách. Giá trị mặc định là -1, đó là tất cả các lần xuất hiện.maxsplit parameter specifies how many splits to do. The default value is -1, which is “all occurrences“.
Thí dụ
# app.py str = "Millie Bobby Brown is Enola Holmes" arr = str.split[] print[arr]
Đầu ra
['Millie', 'Bobby', 'Brown', 'is', 'Enola', 'Holmes']
Trong ví dụ này, chúng tôi đã không cung cấp rõ ràng bộ phân cách, vì vậy nó lấy khoảng trắng làm dấu phân cách và chia chuỗi dựa trên dấu phân cách đó và trả về danh sách.
Để phân chia chuỗi ở một ký tự cụ thể, hãy sử dụng hàm Python Split [].
# app.py str = "Millie,Bobby,Brown,is,Enola,Holmes" arr = str.split[','] print[arr]
Đầu ra
['Millie', 'Bobby', 'Brown', 'is', 'Enola', 'Holmes']
Trong ví dụ này, chúng tôi phân chia chuỗi ở dấu phân cách ‘,.‘,’ separator.
Chuỗi python để mảng các ký tự
Chuỗi Python là một chuỗi các ký tự. Chúng ta có thể chuyển đổi nó thành mảng các ký tự bằng hàm Danh sách []. Khi chuyển đổi một chuỗi thành một mảng các ký tự, khoảng trắng cũng được coi là ký tự.
# app.py str = "MillieB11" arr = list[str] print[arr]
Đầu ra
['M', 'i', 'l', 'l', 'i', 'e', 'B', '1', '1']
Trong ví dụ này, chúng tôi phân chia chuỗi ở dấu phân cách ‘,.