23
Python idiom เพื่อส่งคืนไอเท็มแรกหรือไม่มี
ฉันแน่ใจว่ามีวิธีที่ง่ายกว่าในการทำเช่นนี้ซึ่งไม่ได้เกิดขึ้นกับฉัน ฉันกำลังเรียกวิธีการมากมายที่ส่งคืนรายการ รายการอาจว่างเปล่า หากรายการไม่ว่างฉันต้องการส่งคืนรายการแรก; มิฉะนั้นฉันต้องการคืนค่าไม่มี รหัสนี้ใช้งานได้: my_list = get_list() if len(my_list) > 0: return my_list[0] return None สำหรับฉันแล้วดูเหมือนว่าควรมีสำนวนแบบบรรทัดเดียวที่เรียบง่ายสำหรับการทำสิ่งนี้ แต่สำหรับชีวิตของฉันฉันไม่สามารถคิดได้ มีอะไรบ้าง แก้ไข: เหตุผลที่ฉันกำลังมองหานิพจน์บรรทัดเดียวที่นี่ไม่ใช่ว่าฉันชอบรหัสตัวอักษรที่เหลือเชื่อ แต่เพราะฉันต้องเขียนโค้ดจำนวนมากเช่นนี้: x = get_first_list() if x: # do something with x[0] # inevitably forget the [0] part, and have a bug to fix y = get_second_list() if y: …
274
python
idioms
python-2.4