Hướng dẫn python list comprehension if else two lists - hiểu danh sách python nếu khác hai danh sách
Tôi có mã này: Show
Trong đó
Làm thế nào một người sẽ làm điều này chỉ với một sự hiểu biết trong một dòng?
Mariand 12K12 Huy hiệu vàng37 Huy hiệu bạc53 Huy hiệu đồng12 gold badges37 silver badges53 bronze badges Hỏi ngày 17 tháng 8 năm 2018 lúc 10:00Aug 17, 2018 at 10:00
3 Vì bạn có 2 mục tiêu, nên việc hiểu danh sách không được điều chỉnh (và sử dụng 2 bộ hiểu có nghĩa là kiểm tra ____99 hai lần, một lần để xây dựng 0 và một lần để xây dựng 1)Một cái gì đó ngắn gọn hơn một chút sẽ là một biểu thức ternary để chọn mục tiêu (bạn không thể sử dụng 2 trực tiếp trên biểu thức nhưng bạn có thể sử dụng 3 điều tương tự):
Điều đó nói rằng, tôi sẽ không sử dụng 4 để lập chỉ mục cả hai danh sách (cồng kềnh, không đồng bào và kém hiệu quả khi truy cập tuần tự), nhưng 5:
"Rủi ro" duy nhất là một trong các danh sách ngắn hơn so với khác, trong trường hợp đó, bạn không gặp bất kỳ lỗi nào và kết quả không chính xác (một fillvalue thích hợp được cung cấp cho 6 có thể là một sự thay thế trong trường hợp đó)Đã trả lời ngày 17 tháng 8 năm 2018 lúc 10:06Aug 17, 2018 at 10:06
Vì câu hỏi là làm điều đó trong một dòng: 7Điều này không cho rằng 8 hoặc 9 là các chuỗi, chúng có thể là các dicts.Nhưng thực sự không có điểm nào trong việc đặt mọi thứ vào một dòng. Viết mã rõ ràng là quan trọng hơn. Đã trả lời ngày 17 tháng 8 năm 2018 lúc 10:17Aug 17, 2018 at 10:17
iamanigeeitiamanigeeitiamanigeeit 7241 Huy hiệu vàng5 Huy hiệu bạc11 Huy hiệu đồng1 gold badge5 silver badges11 bronze badges 1 Sự hiểu biết danh sách của bạn gần như tốt, vì vậy bạn không cần 2 dòng đầu tiên, nhưng chỉ liệt kê các toàn bộ, vì vậy thay vì:
sử dụng
Lưu ý hàm 0.Đã trả lời ngày 17 tháng 8 năm 2018 lúc 10:06Aug 17, 2018 at 10:06
Vì câu hỏi là làm điều đó trong một dòng:MarianD 12K12 Huy hiệu vàng37 Huy hiệu bạc53 Huy hiệu đồng12 gold badges37 silver badges53 bronze badges Hỏi ngày 17 tháng 8 năm 2018 lúc 10:00 Vì bạn có 2 mục tiêu, nên việc hiểu danh sách không được điều chỉnh (và sử dụng 2 bộ hiểu có nghĩa là kiểm tra ____99 hai lần, một lần để xây dựng 0 và một lần để xây dựng 1)Một cái gì đó ngắn gọn hơn một chút sẽ là một biểu thức ternary để chọn mục tiêu (bạn không thể sử dụng 2 trực tiếp trên biểu thức nhưng bạn có thể sử dụng 3 điều tương tự):Aug 17, 2018 at 10:07
Điều đó nói rằng, tôi sẽ không sử dụng 4 để lập chỉ mục cả hai danh sách (cồng kềnh, không đồng bào và kém hiệu quả khi truy cập tuần tự), nhưng 5:leotrubach"Rủi ro" duy nhất là một trong các danh sách ngắn hơn so với khác, trong trường hợp đó, bạn không gặp bất kỳ lỗi nào và kết quả không chính xác (một fillvalue thích hợp được cung cấp cho Đã trả lời ngày 17 tháng 8 năm 2018 lúc 10:06 Vì câu hỏi là làm điều đó trong một dòng: Điều này không cho rằng 8 hoặc 9 là các chuỗi, chúng có thể là các dicts. 5Nhưng thực sự không có điểm nào trong việc đặt mọi thứ vào một dòng. Viết mã rõ ràng là quan trọng hơn.Aug 17, 2018 at 10:08
Đã trả lời ngày 17 tháng 8 năm 2018 lúc 10:17Araelath iamanigeeitiamanigeeit2 silver badges13 bronze badges 7241 Huy hiệu vàng5 Huy hiệu bạc11 Huy hiệu đồng
Sự hiểu biết danh sách của bạn gần như tốt, vì vậy bạn không cần 2 dòng đầu tiên, nhưng chỉ liệt kê các toàn bộ, vì vậy thay vì:Aug 17, 2018 at 10:22
sử dụngDaniele Lưu ý hàm Danh sách hiểu có thể trả về hai danh sách?Câu hỏi là: 'Có thể trả về hai danh sách từ một danh sách hiểu không? '. Tôi trả lời rằng điều đó là có thể, nhưng theo tôi là tốt hơn để lặp lại với một vòng lặp và thu thập kết quả trong hai danh sách riêng biệt.it is possible, but in my opinion is better to iterate with a loop and collect the results in two separate lists.
Làm thế nào để bạn thực hiện một danh sách hai danh sách trong Python?Ví dụ 1: Danh sách hiểu bằng hai danh sách.. Chương trình Python list_1 = [2, 6, 7, 3] list_2 = [1, 4, 2] list_3 = [x * y cho x trong list_1 cho y trong list_2] in (list_3). Đầu ra [2, 8, 4, 6, 24, 12, 7, 28, 14, 3, 12, 6]. Bạn có thể làm danh sách lồng nhau không?Hóa ra, bạn có thể làm tổ danh sách các toàn bộ trong danh sách khác để giảm thêm mã của bạn và giúp bạn dễ đọc hơn.Như một vấn đề thực tế, không có giới hạn về số lượng toàn bộ bạn có thể làm tổ trong nhau, điều này có thể viết mã rất phức tạp trong một dòng.you can nest list comprehensions within another list comprehension to further reduce your code and make it easier to read still. As a matter of fact, there's no limit to the number of comprehensions you can nest within each other, which makes it possible to write very complex code in a single line.
Elif có thể được sử dụng trong danh sách hiểu không?Chúng ta có thể sử dụng "Elif" trong một danh sách hiểu không?Không, chúng tôi không thể sử dụng nó, nhưng có một cách để giải quyết thách thức này.Tại đây, bạn có thể thấy giải pháp cổ điển của sự cố "FizzBuzz" bằng cách sử dụng kết hợp "if-elif-else".Để giải quyết thách thức này, chúng tôi có thể xây dựng danh sách hiểu biết như dưới đây.No we can't use it, but there is a way to solve this challenge. Here you can see the classic solution of "FizzBuzz" problem using "If-Elif-Else" combination. To solve this challenge we can construct our List Comprehension as below. |