Tôi đang cố gắng sử dụng zip theo cách pythonic nhưng ở Julia. Đưa ra hai danh sách:
a =[2;3;4;5;6]
b =[0;7;8;9;10]
Tôi muốn tạo ra sự hiểu biết danh sách sau đây,
c = [x for (x,y) in zip(a, b) if (x<y) else y]
mà trả lại c = [0;3;4;5;6]
. Thay vào đó tôi được syntax: expected "]"
trả lại.
3
Vì tò mò, điều đó có hoạt động trong Python không?
—
StefanKarpinki
@StefanKarpinki: Không. Viết điều này bằng Python sẽ thất bại vì lý do chính xác giống như trong Julia, về cơ bản là cùng một cách sửa (mặc dù cú pháp toán tử tạm thời của Python là khác nhau).
—
user2357112 hỗ trợ Monica
Toán tử ternary của Python là
—
user2357112 hỗ trợ Monica
x if cond else y
thay vì cond ? x : y
, vì vậy Python chính xác sẽ là [x if x<y else y for (x, y) in zip(a, b)]
.