Hướng dẫn python convert tab delimited string to list - python chuyển đổi chuỗi phân cách tab thành danh sách

Bạn có thể sử dụng phương pháp str.split.

>>> my_string = 'A,B,C,D,E'
>>> my_list = my_string.split(",")
>>> print my_list
['A', 'B', 'C', 'D', 'E']

Nếu bạn muốn chuyển đổi nó thành một tuple, chỉ

>>> print tuple(my_list)
('A', 'B', 'C', 'D', 'E')

Nếu bạn đang muốn nối vào danh sách, hãy thử điều này:

>>> my_list.append('F')
>>> print my_list
['A', 'B', 'C', 'D', 'E', 'F']

Hướng dẫn python convert tab delimited string to list - python chuyển đổi chuỗi phân cách tab thành danh sách

Để chuyển đổi chuỗi phân loại dấu phẩy thành danh sách trong Python, hãy chia chuỗi bằng phương thức

>>> print tuple(my_list)
('A', 'B', 'C', 'D', 'E')
6.

Ví dụ:

string = "A,B,C,D,E,F,G"

string_list = string.split(",")

print(string_list)

Output:

['A', 'B', 'C', 'D', 'E', 'F', 'G']

Điều này dẫn đến một danh sách các phần của các chuỗi được phân tách bằng dấu phẩy.

Don Tiết quên xử lý các chuỗi trống

Hướng dẫn python convert tab delimited string to list - python chuyển đổi chuỗi phân cách tab thành danh sách

Sử dụng cách tiếp cận trên trên một chuỗi trống trả về một danh sách với một chuỗi trống. Đây không phải là những gì bạn mong đợi. Thay vào đó, danh sách phải trống nếu chuỗi trống.

Để xử lý trường hợp của một chuỗi trống, một chút sửa đổi phương pháp trước đó:

string = ""

string_list = string.split(",") if string else []

print(string_list)

Output:

[]

Chúng ta cũng hãy xem xét những gì bạn có thể làm nếu chuỗi chứa cả chuỗi và số nguyên.

Cách chuyển đổi chuỗi phân loại bằng dấu phẩy với số nguyên và ký tự thành danh sách

Nếu bạn có một chuỗi đại diện cho cả số nguyên và chuỗi, bạn có thể muốn

  1. Giữ các chuỗi như chuỗi.
  2. Đúc chuỗi số nguyên cho số nguyên thực.

Để làm điều này, bạn có thể sử dụng một vòng lặp thường xuyên như thế này:

string = "1,B,C,3,E,5,6"

string_list = []

for item in string.split(","):
    if item.isdigit():
        string_list.append(int(item))
    else:
        string_list.append(item)

print(string_list)

Đầu ra:

[1, 'B', 'C', 3, 'E', 5, 6]

Hoặc bạn có thể sử dụng danh sách hiểu để rút ngắn vòng lặp:

string = "1,B,C,3,E,5,6"

string_list = [int(e) if e.isdigit() else e for e in string.split(",")]

print(string_list)

Output:

[1, 'B', 'C', 3, 'E', 5, 6]

Sự kết luận

Hôm nay bạn đã học cách chuyển đổi một chuỗi phân loại bằng dấu phẩy thành một danh sách trong Python.

Để tóm tắt lại, hãy gọi String.Split (Hồi,,) trên chuỗi bạn muốn chuyển đổi sang danh sách. Để tránh nhầm lẫn, hãy nhớ kiểm tra xem chuỗi không trống.string.split(“,”) on the string you want to convert to a list. To avoid confusion, remember to check if the string is not empty.

Cảm ơn vì đã đọc. Tôi hy vọng bạn thấy nó hữu dụng!

Mã hóa hạnh phúc!

Đọc thêm

  • Liệt kê sự hiểu biết trong Python
  • Mẹo và thủ thuật Python

1

Tôi có một danh sách ['Tên \ tage \ n', 'Mark \ t32 \ n', 'Matt \ t29 \ n', 'John \ t67 \ n', 'Jason \ t45 \ n', 'Matt \ t12 \ n ',' Frank \ t11 \ n ',' Frank \ t34 \ n ',' Frank \ t65 \ n ',' Frank \ t78 \ n '] đã được đọc từ một tệp văn bản được phân định tab.

Nó có một tiêu đề (tên và tuổi) và nằm trong hai cột trong tệp văn bản trước khi nhập. Tôi muốn phân tích hai "cột" vào các danh sách hoặc chuỗi riêng biệt (tên và độ tuổi) để tôi có thể tính toán độ tuổi trung bình của các cá nhân. Tôi đã thử một số cách khác nhau để làm điều này, nhưng dường như không thể tìm ra nó.

Bất kỳ đề xuất? LP
LP

30 tháng 9 '11 #1

Chia một chuỗi theo tab trong python #

Sử dụng phương thức

>>> print tuple(my_list)
('A', 'B', 'C', 'D', 'E')
6 để chia chuỗi theo các tab, ví dụ:
>>> print tuple(my_list)
('A', 'B', 'C', 'D', 'E')
8. Phương thức
>>> print tuple(my_list)
('A', 'B', 'C', 'D', 'E')
9 sẽ phân chia chuỗi trên mỗi lần xuất hiện của một tab và sẽ trả về một danh sách chứa kết quả.

>>> print tuple(my_list)
('A', 'B', 'C', 'D', 'E')
1

Phương thức str.split () chia chuỗi thành một danh sách các chuỗi con bằng cách sử dụng dấu phân cách.

Phương thức lấy 2 tham số sau:

TênSự mô tả
máy tách biệtChia chuỗi thành chuỗi con trên mỗi lần xuất hiện
MaxSplitNhiều nhất
>>> my_list.append('F')
>>> print my_list
['A', 'B', 'C', 'D', 'E', 'F']
0 chia tách được thực hiện (tùy chọn)

Nếu bộ phân cách không được tìm thấy trong chuỗi, một danh sách chỉ chứa 1 phần tử được trả về.

>>> print tuple(my_list)
('A', 'B', 'C', 'D', 'E')
2

Nếu chuỗi của bạn bắt đầu bằng hoặc kết thúc bằng một tab, bạn sẽ nhận được các phần tử chuỗi trống trong danh sách.

>>> print tuple(my_list)
('A', 'B', 'C', 'D', 'E')
3

Bạn có thể sử dụng chức năng

>>> my_list.append('F')
>>> print my_list
['A', 'B', 'C', 'D', 'E', 'F']
1 để xóa bất kỳ chuỗi trống nào khỏi danh sách.

>>> print tuple(my_list)
('A', 'B', 'C', 'D', 'E')
4

Hàm bộ lọc có hàm và có thể lặp lại như các đối số và xây dựng một trình lặp lại từ các phần tử của có thể điều chỉnh được hàm trả về giá trị sự thật.

Nếu bạn vượt qua

>>> my_list.append('F')
>>> print my_list
['A', 'B', 'C', 'D', 'E', 'F']
2 cho đối số chức năng, tất cả các yếu tố giả mạo của IT có thể bị xóa.

Tất cả các giá trị không phải là sự thật được coi là giả mạo. Các giá trị giả trong Python là:

  • Các hằng số được xác định là giả mạo:
    >>> my_list.append('F')
    >>> print my_list
    ['A', 'B', 'C', 'D', 'E', 'F']
    
    2 và
    >>> my_list.append('F')
    >>> print my_list
    ['A', 'B', 'C', 'D', 'E', 'F']
    
    4.
  • >>> my_list.append('F')
    >>> print my_list
    ['A', 'B', 'C', 'D', 'E', 'F']
    
    5 (không) thuộc bất kỳ loại số nào
  • Trình tự và bộ sưu tập trống:
    >>> my_list.append('F')
    >>> print my_list
    ['A', 'B', 'C', 'D', 'E', 'F']
    
    6 (Chuỗi trống),
    >>> my_list.append('F')
    >>> print my_list
    ['A', 'B', 'C', 'D', 'E', 'F']
    
    7 (Tuple trống),
    >>> my_list.append('F')
    >>> print my_list
    ['A', 'B', 'C', 'D', 'E', 'F']
    
    8 (danh sách trống),
    >>> my_list.append('F')
    >>> print my_list
    ['A', 'B', 'C', 'D', 'E', 'F']
    
    9 (Từ điển trống),
    string = "A,B,C,D,E,F,G"
    
    string_list = string.split(",")
    
    print(string_list)
    0 (bộ trống),
    string = "A,B,C,D,E,F,G"
    
    string_list = string.split(",")
    
    print(string_list)
    1 (phạm vi trống).

Lưu ý rằng hàm

>>> my_list.append('F')
>>> print my_list
['A', 'B', 'C', 'D', 'E', 'F']
1 trả về đối tượng
string = "A,B,C,D,E,F,G"

string_list = string.split(",")

print(string_list)
3, vì vậy chúng tôi phải sử dụng lớp
string = "A,B,C,D,E,F,G"

string_list = string.split(",")

print(string_list)
4 để chuyển đổi đối tượng
string = "A,B,C,D,E,F,G"

string_list = string.split(",")

print(string_list)
3 thành danh sách.

Một giải pháp thay thế là sử dụng phương pháp

string = "A,B,C,D,E,F,G"

string_list = string.split(",")

print(string_list)
6.

Sử dụng phương thức

string = "A,B,C,D,E,F,G"

string_list = string.split(",")

print(string_list)
6 để chia một chuỗi theo tab, ví dụ:
string = "A,B,C,D,E,F,G"

string_list = string.split(",")

print(string_list)
8. Phương thức
string = "A,B,C,D,E,F,G"

string_list = string.split(",")

print(string_list)
6 sẽ phân chia chuỗi trên mỗi lần xuất hiện của một tab và trả về danh sách chứa kết quả.

>>> print tuple(my_list)
('A', 'B', 'C', 'D', 'E')
5

Phương thức Re.Split lấy một mẫu và một chuỗi và phân tách chuỗi trên mỗi lần xuất hiện của mẫu.

Các ký tự

['A', 'B', 'C', 'D', 'E', 'F', 'G']
0 khớp với các tab.

Plus

['A', 'B', 'C', 'D', 'E', 'F', 'G']
1 được sử dụng để phù hợp với ký tự trước (tab) 1 hoặc nhiều lần.

Toàn bộ, biểu thức chính quy khớp với một hoặc nhiều ký tự tab.

Điều này rất hữu ích khi bạn muốn đếm nhiều tab liên tiếp là một tab duy nhất khi chia chuỗi.