คำถามติดแท็ก clamp

9
ฉันจะหาฟังก์ชัน "แคลมป์" ใน. NET ได้ที่ไหน?
ฉันต้องการกำหนดค่าxเป็นช่วง[a, b]: x = (x < a) ? a : ((x > b) ? b : x); นี่เป็นเรื่องพื้นฐานทีเดียว แต่ผมไม่เห็นฟังก์ชั่น "ยึด" ในห้องสมุดชั้น - System.Mathอย่างน้อยไม่ได้อยู่ใน (สำหรับผู้ที่ไม่รู้จะ "ยึด" ค่าคือเพื่อให้แน่ใจว่าอยู่ระหว่างค่าสูงสุดและค่าต่ำสุดบางค่าหากมากกว่าค่าสูงสุดค่าสูงสุดจะถูกแทนที่ด้วยค่าสูงสุดเป็นต้น)
98 c#  clamp 

9
จะหนีบจำนวนเต็มกับบางช่วงได้อย่างไร?
ฉันมีรหัสต่อไปนี้: new_index = index + offset if new_index < 0: new_index = 0 if new_index >= len(mylist): new_index = len(mylist) - 1 return mylist[new_index] โดยทั่วไปฉันคำนวณดัชนีใหม่และใช้สิ่งนั้นเพื่อค้นหาองค์ประกอบบางอย่างจากรายการ เพื่อให้แน่ใจว่าดัชนีอยู่ในขอบเขตของรายการฉันต้องเขียนifคำสั่ง2 คำนี้โดยกระจายเป็น 4 บรรทัด มันค่อนข้างฟุ่มเฟื่อยน่าเกลียดไปหน่อย ... ฉันบอกเลยว่ามันค่อนข้างไม่พีค มีโซลูชันอื่นที่ง่ายและกะทัดรัดกว่านี้หรือไม่? (และpythonicอื่น ๆ) ใช่ฉันรู้ว่าสามารถใช้ได้if elseในบรรทัดเดียว แต่อ่านไม่ออก: new_index = 0 if new_index < 0 else len(mylist) - 1 if …
94 python  clamp 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.