Trong trường hợp đơn giản này, sau khi tách, các phần tử sẽ được ghi vào một chuỗi được phân tách bằng dấu phẩy, sau đó là khoảng trắng
', '.join [all_lang_lst]
đầu ra sẽ là
'R, Julia, Python, Haskell, Java, Javascript'
Tách danh sách theo điều kiện
Chúng tôi có thể muốn chia danh sách thành nhiều danh sách phụ dựa trên một điều kiện đơn giản
data_lang = ['R', 'Julia', 'Python']
other_lang = ['Java', 'Javascript', 'Haskell']
data_lst = []
other_lst = []
# divide the list values using comprehensions
data_lst = [x for x in all_lang_lst if x in data_lang]
other_lst = [x for x in all_lang_lst if x in other_lang]
#print the lists
print ["The data science related languages are:" + str[data_lst]]
print ["The other languages are: " + str[other_lst]]
Đây là đầu ra
The data science related languages are:['R', 'Julia', 'Python'] The other languages are: ['Haskell', 'Java', 'Javascript']
Ghi chú. như được hiển thị ở trên, chúng ta có thể sử dụng hàm join[] để chuyển đổi bất kỳ danh sách nào thành chuỗi
Tách danh sách Python theo chuỗi con
Theo cách tương tự, chúng ta có thể phân chia danh sách dựa trên việc phần tử của nó có chứa một chuỗi con cụ thể hay không. Chúng ta sẽ bắt đầu bằng cách định nghĩa một hàm
def splt_by_substrng [my_lst, my_str]:
subs_lst = []
subs_lst_other =[]
for e in my_lst:
if my_str in e:
subs_lst.append[e]
else:
subs_lst_other.append[e]
return subs_lst, subs_lst_other
Bây giờ chúng ta sẽ gọi hàm mà chúng ta vừa định nghĩa. Trong trường hợp của chúng tôi, chúng tôi muốn tách các ngôn ngữ lập trình chứa chuỗi con 'ja' thành một danh sách riêng. Hàm sẽ trả về hai danh sách
print["Here are the split lists: " + str[splt_by_substrng[all_lang_lst , "Ja"]]]
Kết quả sẽ là
Here are the split lists: [['Java', 'Javascript'], ['R', 'Julia', 'Python', 'Haskell']]
Tìm sự khác biệt giữa hai danh sách
Một cách khác để tách danh sách đơn giản bằng cách trừ. Chúng tôi có thể chuyển đổi danh sách của mình thành bộ Python và chỉ cần trừ chúng
Hàm tạo list[]
xây dựng một danh sách trực tiếp từ một hàm có thể lặp lại và vì chuỗi có thể lặp lại nên bạn có thể tạo một danh sách từ nó bằng cách chuyển chuỗi tới hàm tạo danh sách
1
2
3
4
5
6
7
if __name__ == '__main__'.
đầu vào = 'ABC'
ký tự = danh sách[input]
in[ký tự] # ['A', 'B', 'C']
Tải xuống Chạy mã
2. Sử dụng chức năng str.split[]
Bạn có thể sử dụng str. hàm split[sep=None] trả về danh sách các từ trong chuỗi, sử dụng sep
làm chuỗi phân cách.
Ví dụ: để tách chuỗi bằng dấu phân cách
'R, Julia, Python, Haskell, Java, Javascript'0, bạn có thể thực hiện
1
2
3
4
5
6
if __name__ == '__main__'.
s = '1-2-3'
l = s. tách['-']
in[l] # prints ['1', '2', '3']
Tải xuống Chạy mã
Nếu sep
không được chỉ định hoặc là
'R, Julia, Python, Haskell, Java, Javascript'2, các lần chạy khoảng trắng liên tiếp được coi là một dấu phân cách.
1
2
3
4
5
6
if __name__ == '__main__'.
s = '1 2 3'
l = s. tách[]
in[l] # prints ['1', '2', '3']
Tải xuống Chạy mã
3. Sử dụng chức năng 'R, Julia, Python, Haskell, Java, Javascript'
3
Mô-đun shlex xác định hàm
'R, Julia, Python, Haskell, Java, Javascript'4, tách chuỗi
'R, Julia, Python, Haskell, Java, Javascript'5 bằng cú pháp giống như trình bao