Trong Python, bạn có thể tạo một danh sách mới từ danh sách các chuỗi bằng cách trích xuất, thay thế hoặc chuyển đổi các yếu tố đáp ứng các điều kiện nhất định với sự hiểu biết danh sách.
Bài viết này giải thích ngắn gọn về sự hiểu biết danh sách và sau đó mô tả những điều sau đây với mã mẫu.
- Trích xuất các chuỗi chứa hoặc không chứa một chuỗi cụ thể
- Thay thế một chuỗi cụ thể trong danh sách
- Trích xuất các chuỗi bắt đầu hoặc không bắt đầu bằng một chuỗi cụ thể
- Trích xuất các chuỗi kết thúc hoặc không kết thúc bằng một chuỗi cụ thể
- Trích xuất chuỗi bằng chữ hoa hoặc chữ thường
- Chuyển đổi chữ hoa và chữ thường
- Trích xuất chuỗi bằng chữ cái hoặc số
- Nhiều điều kiện
- Biểu thức chính quy [Regex]
Xem bài viết sau đây để biết thêm thông tin về cách trích xuất và thay thế các chuỗi.
- Trích xuất một chuỗi con từ một chuỗi trong python [vị trí, regex]
- Thay thế các chuỗi trong python [thay thế, dịch, re.sub, re.sub]
Danh sách toàn diện
Để tạo một danh sách mới từ danh sách, bạn có thể sử dụng toàn bộ danh sách, đơn giản hơn để viết so với vòng lặp
[variable_name for variable_name in iterable if condition]
4.- Liệt kê sự hiểu biết trong Python
[expression for variable_name in iterable if condition]
Nếu bạn chỉ muốn trích xuất các yếu tố đáp ứng
[variable_name for variable_name in iterable if condition]
5, bạn không cần phải xử lý chúng với [variable_name for variable_name in iterable if condition]
6; Chỉ cần sử dụng [variable_name for variable_name in iterable if condition]
7.[variable_name for variable_name in iterable if condition]
Nếu bạn thay đổi
[variable_name for variable_name in iterable if condition]
8 thành [variable_name for variable_name in iterable if condition]
9, bạn có thể trích xuất các yếu tố không thỏa mãn [variable_name for variable_name in iterable if condition]
5.Để biết thêm thông tin về trích xuất, thay thế và chuyển đổi các yếu tố danh sách bằng cách sử dụng danh sách toàn diện, vui lòng tham khảo bài viết sau.
- Trích xuất, thay thế, chuyển đổi các yếu tố của một danh sách trong Python
l = ['oneXXXaaa', 'twoXXXbbb', 'three999aaa', '000111222']
l_in = [s for s in l if 'XXX' in s]
print[l_in]
# ['oneXXXaaa', 'twoXXXbbb']
l_in_not = [s for s in l if 'XXX' not in s]
print[l_in_not]
# ['three999aaa', '000111222']
1 trả về l = ['oneXXXaaa', 'twoXXXbbb', 'three999aaa', '000111222']
l_in = [s for s in l if 'XXX' in s]
print[l_in]
# ['oneXXXaaa', 'twoXXXbbb']
l_in_not = [s for s in l if 'XXX' not in s]
print[l_in_not]
# ['three999aaa', '000111222']
2 nếu l = ['oneXXXaaa', 'twoXXXbbb', 'three999aaa', '000111222']
l_in = [s for s in l if 'XXX' in s]
print[l_in]
# ['oneXXXaaa', 'twoXXXbbb']
l_in_not = [s for s in l if 'XXX' not in s]
print[l_in_not]
# ['three999aaa', '000111222']
3 chứa l = ['oneXXXaaa', 'twoXXXbbb', 'three999aaa', '000111222']
l_in = [s for s in l if 'XXX' in s]
print[l_in]
# ['oneXXXaaa', 'twoXXXbbb']
l_in_not = [s for s in l if 'XXX' not in s]
print[l_in_not]
# ['three999aaa', '000111222']
4. Sử dụng l = ['oneXXXaaa', 'twoXXXbbb', 'three999aaa', '000111222']
l_in = [s for s in l if 'XXX' in s]
print[l_in]
# ['oneXXXaaa', 'twoXXXbbb']
l_in_not = [s for s in l if 'XXX' not in s]
print[l_in_not]
# ['three999aaa', '000111222']
5 cho phủ định.- trong toán tử trong Python [cho danh sách, chuỗi, từ điển, v.v.]
l = ['oneXXXaaa', 'twoXXXbbb', 'three999aaa', '000111222']
l_in = [s for s in l if 'XXX' in s]
print[l_in]
# ['oneXXXaaa', 'twoXXXbbb']
l_in_not = [s for s in l if 'XXX' not in s]
print[l_in_not]
# ['three999aaa', '000111222']
Thay thế một chuỗi cụ thể trong danh sách
Trích xuất các chuỗi bắt đầu hoặc không bắt đầu bằng một chuỗi cụ thể
Trích xuất các chuỗi kết thúc hoặc không kết thúc bằng một chuỗi cụ thể
l_replace = [s.replace['XXX', 'ZZZ'] for s in l]
print[l_replace]
# ['oneZZZaaa', 'twoZZZbbb', 'three999aaa', '000111222']
Trích xuất chuỗi bằng chữ hoa hoặc chữ thường
- Chuyển đổi chữ hoa và chữ thường
Trích xuất chuỗi bằng chữ cái hoặc số
- Trích xuất, thay thế, chuyển đổi các yếu tố của một danh sách trong Python
l_replace_all = ['ZZZ' if 'XXX' in s else s for s in l]
print[l_replace_all]
# ['ZZZ', 'ZZZ', 'three999aaa', '000111222']
l = ['oneXXXaaa', 'twoXXXbbb', 'three999aaa', '000111222']
l_in = [s for s in l if 'XXX' in s]
print[l_in]
# ['oneXXXaaa', 'twoXXXbbb']
l_in_not = [s for s in l if 'XXX' not in s]
print[l_in_not]
# ['three999aaa', '000111222']
1 trả về l = ['oneXXXaaa', 'twoXXXbbb', 'three999aaa', '000111222']
l_in = [s for s in l if 'XXX' in s]
print[l_in]
# ['oneXXXaaa', 'twoXXXbbb']
l_in_not = [s for s in l if 'XXX' not in s]
print[l_in_not]
# ['three999aaa', '000111222']
2 nếu l = ['oneXXXaaa', 'twoXXXbbb', 'three999aaa', '000111222']
l_in = [s for s in l if 'XXX' in s]
print[l_in]
# ['oneXXXaaa', 'twoXXXbbb']
l_in_not = [s for s in l if 'XXX' not in s]
print[l_in_not]
# ['three999aaa', '000111222']
3 chứa l = ['oneXXXaaa', 'twoXXXbbb', 'three999aaa', '000111222']
l_in = [s for s in l if 'XXX' in s]
print[l_in]
# ['oneXXXaaa', 'twoXXXbbb']
l_in_not = [s for s in l if 'XXX' not in s]
print[l_in_not]
# ['three999aaa', '000111222']
4. Sử dụng l = ['oneXXXaaa', 'twoXXXbbb', 'three999aaa', '000111222']
l_in = [s for s in l if 'XXX' in s]
print[l_in]
# ['oneXXXaaa', 'twoXXXbbb']
l_in_not = [s for s in l if 'XXX' not in s]
print[l_in_not]
# ['three999aaa', '000111222']
5 cho phủ định.[['ZZZ' if ['XXX' in s] else s] for s in l]
trong toán tử trong Python [cho danh sách, chuỗi, từ điển, v.v.]
l_start = [s for s in l if s.startswith['t']]
print[l_start]
# ['twoXXXbbb', 'three999aaa']
l_start_not = [s for s in l if not s.startswith['t']]
print[l_start_not]
# ['oneXXXaaa', '000111222']
Nếu bạn muốn thay thế chuỗi các phần tử của danh sách, hãy sử dụng phương thức chuỗi
l = ['oneXXXaaa', 'twoXXXbbb', 'three999aaa', '000111222']
l_in = [s for s in l if 'XXX' in s]
print[l_in]
# ['oneXXXaaa', 'twoXXXbbb']
l_in_not = [s for s in l if 'XXX' not in s]
print[l_in_not]
# ['three999aaa', '000111222']
6 cho mỗi phần tử bằng cách hiểu danh sách.l_end = [s for s in l if s.endswith['aaa']]
print[l_end]
# ['oneXXXaaa', 'three999aaa']
l_end_not = [s for s in l if not s.endswith['aaa']]
print[l_end_not]
# ['twoXXXbbb', '000111222']
Nếu không có chuỗi được thay thế, áp dụng
l = ['oneXXXaaa', 'twoXXXbbb', 'three999aaa', '000111222']
l_in = [s for s in l if 'XXX' in s]
print[l_in]
# ['oneXXXaaa', 'twoXXXbbb']
l_in_not = [s for s in l if 'XXX' not in s]
print[l_in_not]
# ['three999aaa', '000111222']
6 sẽ không thay đổi, vì vậy bạn không cần phải chọn một phần tử với [variable_name for variable_name in iterable if condition]
8.l_lower = [s for s in l if s.islower[]]
print[l_lower]
# ['three999aaa']
Chuyển đổi chữ hoa và chữ thường
Trích xuất chuỗi bằng chữ cái hoặc số
Nhiều điều kiện
l_upper_all = [s.upper[] for s in l]
print[l_upper_all]
# ['ONEXXXAAA', 'TWOXXXBBB', 'THREE999AAA', '000111222']
l_lower_to_upper = [s.upper[] if s.islower[] else s for s in l]
print[l_lower_to_upper]
# ['oneXXXaaa', 'twoXXXbbb', 'THREE999AAA', '000111222']
Biểu thức chính quy [Regex]
- Xem bài viết sau đây để biết thêm thông tin về cách trích xuất và thay thế các chuỗi.
[variable_name for variable_name in iterable if condition]
0Nhiều điều kiện
Biểu thức chính quy [Regex]
Xem bài viết sau đây để biết thêm thông tin về cách trích xuất và thay thế các chuỗi.
[variable_name for variable_name in iterable if condition]
1Biểu thức chính quy [Regex]
Xem bài viết sau đây để biết thêm thông tin về cách trích xuất và thay thế các chuỗi.
- Trích xuất một chuỗi con từ một chuỗi trong python [vị trí, regex]
Thay thế các chuỗi trong python [thay thế, dịch, re.sub, re.sub]
Danh sách toàn diện
[variable_name for variable_name in iterable if condition]
2Để tạo một danh sách mới từ danh sách, bạn có thể sử dụng toàn bộ danh sách, đơn giản hơn để viết so với vòng lặp
[variable_name for variable_name in iterable if condition]
4.[variable_name for variable_name in iterable if condition]
3