11
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Cần trợ giúp, giả sử rằng tôi có một chuỗi 'sam-person' trong một biến có tên là 'đầu vào'
name, kind = input.split['-']
Bằng cách thực hiện những điều trên, tôi nhận được hai biến với các chuỗi khác nhau 'Sam' và 'người' khác nhau
Có cách nào để chỉ lấy tên giá trị đầu tiên = 'sam' mà không cần biến thêm 'loại' và không phải làm việc với danh sách không?
Khi làm điều này, giả sử rằng tôi sẽ chỉ nhận được 'Sam':
name = input.split['-']
Tôi nhận được một danh sách, và sau đó tôi có thể truy cập các giá trị bằng tên chỉ mục [0] hoặc tên [1], nhưng đó không phải là điều tôi muốn, tôi chỉ muốn trực tiếp đưa 'sam' vào biến 'tên', có ở đó Một cách để làm điều đó hoặc một giải pháp thay thế để chia?
Eliadl
5.5912 Huy hiệu vàng21 Huy hiệu bạc39 Huy hiệu đồng2 gold badges21 silver badges39 bronze badges
Đã hỏi ngày 1 tháng 7 năm 2017 lúc 9:03Jul 1, 2017 at 9:03
Gán mục đầu tiên trực tiếp cho biến.
>>> string = 'Sam-Person'
>>> name = string.split['-'][0]
>>> name
'Sam'
Bạn có thể chỉ định đối số ____10, vì bạn chỉ muốn nhận mục đầu tiên.
>>> name = string.split['-', 1][0]
Đã trả lời ngày 1 tháng 7 năm 2017 lúc 9:07Jul 1, 2017 at 9:07
Falsetrufalsetrufalsetru
344K57 Huy hiệu vàng685 Huy hiệu bạc609 Huy hiệu đồng57 gold badges685 silver badges609 bronze badges
2
Nếu bạn không cần phần thứ hai của
name = input.split['-']
1, thay vào đó, bạn có thể thử tìm kiếm chuỗi cho chỉ mục của ký tự name = input.split['-']
2 đầu tiên và sau đó cắt vào chỉ mục đó:string[:string.index['-']]
Điều này nhanh hơn một chút so với phân tách và loại bỏ phần thứ hai vì nó không cần phải tạo một thể hiện chuỗi thứ hai mà bạn không cần.
Xin lưu ý rằng mã này sẽ tăng một ngoại lệ nếu không có
name = input.split['-']
2 trong chuỗi, cũng như mã gốc của bạn. Một giải pháp sử dụng name = input.split['-']
1 như Falsetru sẽ trả lại chuỗi đầy đủ [có thể hoặc không tốt hơn].Đã trả lời ngày 1 tháng 7 năm 2017 lúc 9:25Jul 1, 2017 at 9:25
BlckknghtblckknghtBlckknght
96.5K11 Huy hiệu vàng112 Huy hiệu bạc162 Huy hiệu đồng11 gold badges112 silver badges162 bronze badges
2
Chia một chuỗi và nhận phần tử đầu tiên trong Python #
Sử dụng phương thức
5 với name = input.split['-']
0 được đặt thành name = input.split['-']
7 để chia một chuỗi và nhận phần tử đầu tiên, ví dụ: name = input.split['-']
8. Phương thức name = input.split['-']
9 sẽ chỉ thực hiện một sự phân chia khi name = input.split['-']
0 được đặt thành name = input.split['-']
7.name = input.split['-']
Copied!
my_str = 'a_b_c_d' last = my_str.split['_', 1][0] print[last] # 👉️ 'a'
Ví dụ cho thấy cách phân chia chuỗi và nhận phần tử đầu tiên.
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:
máy tách biệt | Chia chuỗi thành chuỗi con trên mỗi lần xuất hiện |
MaxSplit | Nhiều nhất 0 chia tách được thực hiện [tùy chọn] |
Khi đối số
name = input.split['-']
0 được đặt thành name = input.split['-']
7, nhiều nhất là 1 phân chia được thực hiện.Copied!
my_str = 'a_b_c_d' # 👇️ ['a', 'b_c_d'] print[my_str.split['_', 1]]
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ề.
Copied!
my_str = 'abcd' last = my_str.split['_', 1][0] print[last] # 👉️ 'abcd'
Nếu chuỗi của bạn bắt đầu với bộ phân cách cụ thể, bạn có thể nhận được kết quả khó hiểu.
Copied!
my_str = '_a_b_c_d_' # 👇️ ['', 'a_b_c_d_'] print[my_str.split['_', 1]] last = my_str.split['_', 1][0] print[last] # 👉️ ""
Bạn có thể sử dụng phương thức
>>> string = 'Sam-Person'
>>> name = string.split['-'][0]
>>> name
'Sam'
5 để loại bỏ dấu phân cách dẫn đầu hoặc dấu vết.Copied!
my_str = '_a_b_c_d_' # 👇️ ['a', 'b_c_d'] print[my_str.strip['_'].split['_', 1]] last = my_str.strip['_'].split['_', 1][0] print[last] # 👉️ "a"
Chúng tôi đã sử dụng phương thức
>>> string = 'Sam-Person'
>>> name = string.split['-'][0]
>>> name
'Sam'
5 để loại bỏ bất kỳ dấu gạch dưới nào hoặc dấu gạch ngang từ chuỗi trước khi gọi phương thức name = input.split['-']
9.