Chuyển đổi chuỗi đầu vào thành danh sách python

Không cần phải nhập bất cứ thứ gì hoặc đánh giá. Bạn có thể làm điều này trong một dòng cho hầu hết các trường hợp sử dụng cơ bản, bao gồm cả trường hợp được đưa ra trong câu hỏi ban đầu

Lót

l_x = [i.strip() for i in x[1:-1].replace('"',"").split(',')]

Giải trình

x = '[ "A","B","C" , " D"]'
# String indexing to eliminate the brackets.
# Replace, as split will otherwise retain the quotes in the returned list
# Split to convert to a list
l_x = x[1:-1].replace('"',"").split(',')

đầu ra

for i in range(0, len(l_x)):
    print(l_x[i])
# vvvv output vvvvv
'''
 A
B
C
  D
'''
print(type(l_x)) # out: class 'list'
print(len(l_x)) # out: 4

Bạn có thể phân tích cú pháp và dọn sạch danh sách này khi cần bằng cách sử dụng tính năng hiểu danh sách

l_x = [i.strip() for i in l_x] # list comprehension to clean up
for i in range(0, len(l_x)):
    print(l_x[i])
# vvvvv output vvvvv
'''
A
B
C
D
'''

Danh sách lồng nhau

Nếu bạn có danh sách lồng nhau, nó sẽ khó chịu hơn một chút. Không sử dụng regex (điều này sẽ đơn giản hóa việc thay thế) và giả sử bạn muốn trả về một danh sách phẳng (và zen của python nói phẳng tốt hơn lồng nhau)

x = '[ "A","B","C" , " D", ["E","F","G"]]'
l_x = x[1:-1].split(',')
l_x = [i
    .replace(']', '')
    .replace('[', '')
    .replace('"', '')
    .strip() for i in l_x
]
# returns ['A', 'B', 'C', 'D', 'E', 'F', 'G']

Nếu bạn cần giữ lại danh sách lồng nhau, nó sẽ xấu hơn một chút, nhưng vẫn có thể thực hiện được chỉ với biểu thức chính quy và khả năng hiểu danh sách

Cho đến nay, chúng tôi đã thảo luận về các chuyển đổi khác nhau trong Python. Trong hướng dẫn này, chúng ta sẽ học một cách khác, đó là chuyển đổi một chuỗi thành một danh sách trong Python

Chúng tôi sẽ sử dụng các phương pháp sau để đáp ứng mục tiêu của chúng tôi-

  1. Sử dụng chia()
  2. Sử dụng split() với dấu phân cách
  3. Sử dụng dải()
  4. Sử dụng bản đồ()

Hãy để chúng tôi thảo luận về từng người trong số họ

Trong chương trình đầu tiên, chúng ta sẽ sử dụng split() để chuyển chuỗi thành danh sách trong Python

Sử dụng chia()

Chương trình đưa ra dưới đây minh họa làm thế nào nó có thể được thực hiện

đầu ra

['Let', 'us', 'study', 'programming.']
['But', 'before', 'that', 'it', 'is', 'essential', 'to', 'have', 'a', 'basic', 'knowledge', 'of', 'computers.']
['So', 'first', 'study', 'what', 'is', 'IPO', 'cycle.']
['Then', 'learn', 'about', 'the', 'generation', 'of', 'computers.']

Giải trình-

  1. Trong bước đầu tiên, chúng tôi đã khởi tạo bốn chuỗi mà chúng tôi muốn chuyển đổi
  2. Sau này, chúng tôi đã sử dụng split() để có được danh sách trong đó mỗi từ của chuỗi đại diện cho một phần tử của danh sách

Trong chương trình thứ hai, chúng tôi đã chỉ định một dấu phân cách trong split()

Sử dụng split() với Dấu phân cách

Xét chương trình đã cho,

đầu ra

['Let ', ' us ', ' study ', ' programming.']
['But ', ' before ', ' that ', ' it ', ' is ', ' essential ', ' to ', ' have ', ' a ', ' basic ', ' knowledge ', ' of ', ' computers.']
['So ', ' first ', ' study ', ' what ', ' is ', ' IPO ', ' cycle.']
['Then ', ' learn ', ' about ', ' the ', ' generation ', ' of ', ' computers.']

Giải trình-

Cách tiếp cận tương tự như chương trình trước, điểm khác biệt duy nhất là lấy một phần tử trong danh sách mỗi khi xuất hiện dấu phân cách

Trong chương trình này, các dấu phân cách trong chuỗi là @, #, $ & %

Bây giờ, hãy xem làm thế nào để sử dụng strip()

Sử dụng dải()

Chương trình sau đây minh họa tương tự-

đầu ra

['L', 'e', 't', ' ', 'u', 's', ' ', 's', 't', 'u', 'd', 'y', ' ', 'p', 'r', 'o', 'g', 'r', 'a', 'm', 'm', 'i', 'n', 'g', '.']
['B', 'u', 't', ' ', 'b', 'e', 'f', 'o', 'r', 'e', ' ', 't', 'h', 'a', 't', ' ', 'i', 't', ' ', 'i', 's', ' ', 'e', 's', 's', 'e', 'n', 't', 'i', 'a', 'l', ' ', 't', 'o', ' ', 'h', 'a', 'v', 'e', ' ', 'a', ' ', 'b', 'a', 's', 'i', 'c', ' ', 'k', 'n', 'o', 'w', 'l', 'e', 'd', 'g', 'e', ' ', 'o', 'f', ' ', 'c', 'o', 'm', 'p', 'u', 't', 'e', 'r', 's', '.']

Giải trình-

  1. Ở bước đầu tiên, chúng tôi đã khởi tạo hai chuỗi mà chúng tôi muốn chuyển đổi
  2. Sau này, chúng tôi đã sử dụng dải () để chúng tôi có được một danh sách, trong đó mỗi ký tự đại diện cho chuỗi đại diện cho một phần tử trong danh sách

Chuyển đổi Chuỗi thành Danh sách Danh sách bằng map()

đầu ra

________số 8

Giải trình-

  1. Ở bước đầu tiên, chúng tôi đã khởi tạo hai chuỗi mà chúng tôi muốn chuyển đổi
  2. Sau đó, chúng tôi đã sử dụng phương thức split() theo sau là map() để chúng tôi ánh xạ chức năng danh sách tới từng phần tử của chuỗi
  3. Khi thực hiện chương trình đã cho, đầu ra mong muốn được hiển thị

Cuối cùng, trong chương trình trước chúng ta đã sử dụng chuỗi số nguyên,

Chuyển đổi chuỗi số nguyên

Hãy xem xét chương trình được đưa ra dưới đây,

đầu ra

[1, 2, 3, 4, 5, 6, 7, 8, 9]
[12, 21, 32, 44, 54, 76, 83]

Giải trình-

Logic tương tự như chương trình trên nhưng ở đây chúng tôi đã chuyển một chuỗi số nguyên và áp dụng chức năng 'int' trên tất cả các phần tử

Làm thế nào bạn sẽ chuyển đổi một chuỗi thành một danh sách trong Python?

Chuỗi Python là một dãy ký tự. Chúng ta có thể chuyển đổi nó thành danh sách các ký tự bằng hàm tích hợp list() .

Làm cách nào để chuyển đổi đầu ra thành danh sách trong Python?

Dưới đây là năm phương pháp phổ biến được sử dụng để chuyển đổi set thành list trong lập trình python. .
1) Sử dụng hàm list()
2) Sử dụng phép lặp thủ công
3) Chuyển đổi một Frozenset thành một danh sách
4) Sử dụng phương thức sorted()
5) Bộ giải nén bên trong dấu ngoặc đơn

Làm cách nào để chuyển đổi chuỗi thành danh sách trong Python bằng vòng lặp?

Chuỗi vào danh sách bằng phương thức append() trong Python .
Đầu tiên, chúng ta sẽ tạo một danh sách trống có tên là myList để lưu danh sách đầu ra
Sau đó, chúng ta sẽ lặp qua các ký tự của chuỗi đầu vào bằng vòng lặp for
Trong quá trình lặp, chúng ta sẽ thêm ký tự hiện tại vào myList bằng phương thức append()