2011-09-13 30 views
6

Tôi muốn tạo danh sách mới từ một danh sách các từ khác; khi một điều kiện nhất định của từ đó được đáp ứng. Trong trường hợp này, tôi muốn thêm tất cả các từ có độ dài 9 vào danh sách mới.Python: Tạo danh sách mới từ danh sách khi một điều kiện nhất định được đáp ứng

Tôi đã sử dụng:

resultReal = [y for y in resultVital if not len(y) < 4] 

để loại bỏ tất cả các mục đang được chiều dài của 4. Tuy nhiên, tôi không muốn để loại bỏ các mục bây giờ. Tôi muốn tạo một danh sách mới với các từ, nhưng giữ chúng trong danh sách cũ.

Có lẽ một cái gì đó như thế này:

if len(word) == 9: 
    newlist.append() 

Cảm ơn.

Trả lời

17

Xin lỗi, nhận ra bạn muốn có độ dài, 9, không dài 9 trở lên.

newlist = [word for word in words if len(word) == 9] 
+0

Đó là lẽ coi là một '] 'vào cuối thay vì một') '. –

+0

Vì sẽ không có từ nào có tổng số hơn chín ký tự trong danh sách từ hoặc bằng cách nhập, sử dụng> 8 sẽ hoạt động hoàn hảo. Cảm ơn nhiều! –

+0

@ mathias-ahonen - Rất vui được trợ giúp! Hãy nhớ đánh dấu câu trả lời là được chấp nhận khi bạn tìm thấy câu trả lời phù hợp với mình. Ngoài ra, nhờ F.J vì đã đánh cắp lỗi đánh máy của tôi. :) –

1

Hãy thử:

newlist = [] 
for item in resultVital: 
    if len(item) == 9: 
     newlist.append(item)
1

thử điều này:

newlist = [word for word in words if len(word) == 9] 
+0

Kiểm tra các gợi ý định dạng ở phía dưới cùng bên phải của trang chỉnh sửa. Vui lòng định dạng mã của bạn đúng cách để dễ đọc hơn. –

Các vấn đề liên quan