Hướng dẫn string list to list python - danh sách chuỗi để liệt kê python

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Đọc

    Bàn luận Using split() and

    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    0

    Nhiều lần, chúng tôi đi qua dữ liệu bị đổ được tìm thấy ở định dạng chuỗi và chúng tôi yêu cầu nó được biểu diễn thành định dạng danh sách thực tế mà nó thực sự được tìm thấy. Loại vấn đề này của việc chuyển đổi một danh sách được thể hiện trong định dạng chuỗi trở lại danh sách để thực hiện các tác vụ là khá phổ biến trong phát triển web. Hãy để thảo luận về những cách nhất định trong đó điều này có thể được thực hiện.

    Phương pháp số 1: Sử dụng split()

    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    0

    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    1
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    2
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    3

    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    4
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    5
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    6
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    7

    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    4
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    5
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    0
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    1

    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    2
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    2
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    4
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    5
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    6
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    7
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    8

    Output:

    initial string [1, 2, 3, 4, 5]
    
    final list ['1', '2', '3', '4', '5']
    
    

    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    4
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    5
    l_x = [i.strip() for i in x[1:-1].replace('"',"").split(',')]
    
    1
    l_x = [i.strip() for i in x[1:-1].replace('"',"").split(',')]
    
    2
    Method #2: Using
    l_x = [i.strip() for i in x[1:-1].replace('"',"").split(',')]
    
    7

    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    4
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    5
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    0
    l_x = [i.strip() for i in x[1:-1].replace('"',"").split(',')]
    
    6

    Nhiều lần, chúng tôi đi qua dữ liệu bị đổ được tìm thấy ở định dạng chuỗi và chúng tôi yêu cầu nó được biểu diễn thành định dạng danh sách thực tế mà nó thực sự được tìm thấy. Loại vấn đề này của việc chuyển đổi một danh sách được thể hiện trong định dạng chuỗi trở lại danh sách để thực hiện các tác vụ là khá phổ biến trong phát triển web. Hãy để thảo luận về những cách nhất định trong đó điều này có thể được thực hiện.

    Phương pháp số 1: Sử dụng split()

    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    0

    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    1
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    2
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    3

    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    4
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    5
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    6
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    7

    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    4
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    5
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    0
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    1

    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    2
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    2
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    4
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    5
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    6
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    7
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    8

    Output:

    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    4
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    5
    l_x = [i.strip() for i in x[1:-1].replace('"',"").split(',')]
    
    1
    l_x = [i.strip() for i in x[1:-1].replace('"',"").split(',')]
    
    2

    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    4
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    5
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    0
    l_x = [i.strip() for i in x[1:-1].replace('"',"").split(',')]
    
    6
    Method #3: Using
    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
    '''
    
    2

    & nbsp; Phương pháp #2: Sử dụng

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

    Nhiều lần, chúng tôi đi qua dữ liệu bị đổ được tìm thấy ở định dạng chuỗi và chúng tôi yêu cầu nó được biểu diễn thành định dạng danh sách thực tế mà nó thực sự được tìm thấy. Loại vấn đề này của việc chuyển đổi một danh sách được thể hiện trong định dạng chuỗi trở lại danh sách để thực hiện các tác vụ là khá phổ biến trong phát triển web. Hãy để thảo luận về những cách nhất định trong đó điều này có thể được thực hiện.

    Phương pháp số 1: Sử dụng split()

    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    0

    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    1
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    2
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    3

    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    4
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    5
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    6
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    7

    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    4
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    5
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    0
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    1

    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    2
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    2
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    4
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    5
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    6
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    7
    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    
    8

    Output:

    initial string [1, 2, 3, 4, 5]
    
    final list [1, 2, 3, 4, 5]
    
    


    Không cần 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(',')
    

    Outputs:

    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 và làm sạch danh sách này khi cần thiết bằng cách sử dụng danh sách hiểu.

    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. Nếu không sử dụng regex (sẽ đơn giản hóa việc thay thế) và giả sử bạn muốn trả lại một danh sách dẹt (và Zen of Python nói rằng căn hộ tốt hơn so với 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ẽ trở nên xấu hơn một chút, nhưng nó vẫn có thể được thực hiện chỉ với các biểu thức thông thường và danh sách hiểu:

    import re
    
    x = '[ "A","B","C" , " D", "["E","F","G"]","Z", "Y", "["H","I","J"]", "K", "L"]'
    # Clean it up so the regular expression is simpler
    x = x.replace('"', '').replace(' ', '')
    # Look ahead for the bracketed text that signifies nested list
    l_x = re.split(r',(?=\[[A-Za-z0-9\',]+\])|(?<=\]),', x[1:-1])
    print(l_x)
    # Flatten and split the non nested list items
    l_x0 = [item for items in l_x for item in items.split(',') if not '[' in items]
    # Convert the nested lists to lists
    l_x1 = [
        i[1:-1].split(',') for i in l_x if '[' in i
    ]
    # Add the two lists
    l_x = l_x0 + l_x1
    

    Giải pháp cuối cùng này sẽ hoạt động trong bất kỳ danh sách nào được lưu trữ dưới dạng chuỗi, lồng nhau hay không.

    Làm thế nào để tôi lập một danh sách các chuỗi vào một danh sách trong Python?

    Cách pythonic nhất để chuyển đổi danh sách các chuỗi thành danh sách INTS là sử dụng danh sách hiểu [int (x) cho x trong chuỗi]. Nó lặp lại trên tất cả các phần tử trong danh sách và chuyển đổi từng phần tử danh sách X thành giá trị số nguyên bằng hàm tích hợp int (x).use the list comprehension [int(x) for x in strings] . It iterates over all elements in the list and converts each list element x to an integer value using the int(x) built-in function.

    Làm thế nào để bạn chuyển đổi một danh sách được biểu thị chuỗi thành một danh sách?

    Trong bài viết này, chúng tôi sẽ xem cách chuyển đổi một chuỗi thành một danh sách ...
    Với dải và tách.Trước tiên chúng tôi áp dụng phương pháp dải để loại bỏ các dấu ngoặc vuông và sau đó áp dụng chức năng phân chia.Chức năng phân chia với dấu phẩy vì tham số của nó tạo danh sách từ chuỗi.....
    Với JSON.tải.....
    Với AST.literal_eval ..

    Tôi có thể chuyển đổi chuỗi thành Liệt kê Python không?

    Chuỗi Python là một chuỗi các 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 danh sách ().Khi chuyển đổi một chuỗi thành danh sách các ký tự, khoảng trắng cũng được coi là ký tự.We can convert it to the list of characters using list() built-in function. When converting a string to list of characters, whitespaces are also treated as characters.

    Làm cách nào để liệt kê một danh sách trong Python?

    Python cung cấp một tùy chọn tạo danh sách trong danh sách.Nếu đặt đơn giản, đó là một danh sách lồng nhau nhưng với một hoặc nhiều danh sách bên trong dưới dạng một yếu tố.Ở đây, [a, b], [c, d] và [e, f] là các danh sách riêng biệt được truyền dưới dạng các yếu tố để tạo một danh sách mới.Đây là danh sách các danh sách.[a,b], [c,d], and [e,f] are separate lists which are passed as elements to make a new list. This is a list of lists.