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\',]+\]]|[?

    Chủ Đề