💡 หลาย ๆ คนที่เขียน Python มาสักพักแล้ว หรือบางคนเพิ่งเริ่มเขียน อาจจะยังไม่รู้จักการใช้งาน Iterator และ Iterable กันสักเท่าไหร่ หรือบางคนอาจจะใช้งานอยู่แล้ว แต่ยังไม่รู้ความหมายของมัน…
.
🔥 วันนี้แอดมาสรุปการใช้งาน Iterator และ Iterable มาให้เพื่อน ๆ อ่าน จะได้กระจ่างกันเลยว่าทั้งสองเนี่ยมันคืออะไร ใช้งานยังไง ถ้าพร้อมแล้วไปอ่านกันเลยยยยย!!
.
Iterable - Object ที่สามารถวนซ้ำได้ (List, Tuple, และ Strings ก็เป็น Iterable)
Iterator - ตัวที่ใช้วนซ้ำ
.
ประกอบด้วย Methods ดังนี้
🔹 __iter __ () - ใช้สร้าง Iterator เพื่อวนซ้ำใน Iterable
🔹 __next __ () - ใช้ดึงข้อมูลออกจาก Iterable
.
⚙️ การใช้งาน
iter() จะทำการสร้าง Iterator เพื่อกำหนดการวนซ้ำให้กับ Iterable จากนั้น และ next() จะดึงข้อมูลใน Iterable ออกมาตามลำดับการวนซ้ำนั่นเอง
.
👨💻 ตัวอย่าง1 : ดึงค่าใน Iterable ออกมาตามลำดับ Index
fruit = ["Apple", "papaya", "banana", "orange"]
iterator = iter(fruit)
print(next(iterator))
print(next(iterator))
print(next(iterator))
print(next(iterator))
.
หากเรียกใช้ 'next(iterator_obj)' อีกครั้ง มันจะ Return 'StopIteration' ออกมา เพราะค่าถูกดึงออกมาครบแล้วนั่นเอง
.
📑 ผลลัพธ์
Apple
papaya
banana
orange
.
👨💻 ตัวอย่าง2 : ตรวจสอบค่าใน Object ที่กำหนดว่าเป็น Iterable หรือไม่
def iterable(y):
try:
iter(y)
return True
except TypeError:
return False
arr = [34, [24, 35], (44, 112), {"Prayut":250}]
for i in arr:
print(i, " is iterable : ", iterable(i))
.
📑 ผลลัพธ์
34 is iterable : False
[24, 35] is iterable : True
(44, 112) is iterable : True
{'Prayut': 250} is iterable : True
จะเห็นว่า 34 ไม่ได้เป็น Iterable นั่นเอง
.
💥 Source : https://www.geeksforgeeks.org/python-difference-iterable-iterator/
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
同時也有4部Youtube影片,追蹤數超過12萬的網紅prasertcbs,也在其Youtube影片中提到,เนื้อหาประกอบด้วยเทคนิคการใช้ pandas ที่มีการใช้ groupby เพื่อแบ่งแถวใน dataframe ออกเป็นกลุ่ม ๆ เช่น dataframe ที่ประกอบด้วยราคาหุ้นรายวันหลาย ๆ ตัว ...
「python return list」的推薦目錄:
python return list 在 BorntoDev Facebook 的精選貼文
🔥 มาเช็คค่าใน List ง่าย ๆ ด้วย Any และ All กันเถอะ !!
.
👉 Any และ All เป็นฟังก์ชันในภาษา Python ที่ใช้เช็คค่าใน List และ Return ออกมาเป็น True หรือ False ซึ่งทั้งสองจะทำให้เราเขียนโค้ดได้สั้นลง โดยไม่ต้องเขียนวนลูปยาว ๆ เพื่อเช็คค่าใน List ให้ยุ่งยากเลย บอกเลยว่าสะดวกขึ้นสุด ๆ !
.
ไปดูวิธีการใช้งานของแต่ละตัวกันเลย !!
.
🔹 Any (เอาบางตัว) - จะ Return ค่ากลับมาเป็น True เมื่อมีค่าแค่บางตัวเป็น True
.
มาดูให้เห็นภาพกันเลยดีกว่า
any([true, false, false]) # Result in True
any([false, false, false]) # Result in False
.
📑 ตัวอย่าง
num = [1,2,3,4,5,6,7,8]
test = any(ans % 2 != 0 for ans in num)
print(test) # result => True
.
จากโค้ดจะเห็นว่ามันจะ Return ค่าออกมาเป็น True เพราะ มีบางค่าใน List เป็นเลขคี่ และหาร 2 ไม่ลงตัว ยกเว้น 2, 4, 6, และ 8 นั่นเอง
.
มาดู All กันบ้างจ้า !!
.
🔸 All (เอาหมด) - จะ Return ค่ากลับมาเป็น True เมื่อมีค่าทุกตัวเป็น True เท่านั้น
.
ดูชัด ๆ กันเลยจ้า
all([true, true, true]) # Result in True
all([true, true, false]) # Result in False
.
📑 ตัวอย่าง
num = [1,2,3,4,5,6,7,8]
test = all(ans % 2 != 0 for ans in num)
print(test) # result => False
.
อันนี้ใช้ตัวอย่างเดียวกันกับ Any เลย แต่จะเห็นว่า Return ค่าออกมาเป็น False เพราะมีค่าใน List ที่ไม่ได้เป็นเลขคี่ และหาร 2 ลงตัวนั่นเอง
.
เห็นไหมไม่ยากเลยย ยังไงก็ลองไปปรับใช้กับโค้ดของเพื่อน ๆ ดูน้าา 😁
💥 หรือใครอยากอ่านเต็ม ๆ คลิกลิงค์เลยจ้า >> https://www.geeksforgeeks.org/any-all-in-python/ , https://stackabuse.com/any-and-all-in-python-with-examples
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
python return list 在 BorntoDev Facebook 的最佳解答
😂 เวลาเขียน Python ไปเรื่อย ๆ จะมีฟังก์ชันผุดออกมาเยอะแยะไปหมด บางฟังก์ชันใช้แค่ครั้งเดียวก็ตั้งโด่เด่ไว้งั้น มันช่างง มันช่างงรกเสียจริงงเลย !!
.
👉 ปัญหานี้จะหมดไปถ้าเจอเจ้านี่ “Lambda Function” หมดปัญหาการประกาศฟังก์ชันที่ยุ่งยาก เพราะมันสามารถประกาศฟังก์ชันได้โดยไม่ต้องมีชื่อ แถมยังนำไปใช้งานได้เลยไม่ยุ่งยาก !!
.
🔸 Lambda Function เป็น Anonymous Function ที่จะทำให้เราประกาศฟังก์ชันได้โดยไม่ต้องมีชื่อ สามารถสร้างและเก็บค่าไว้ในตัวแปร หรือส่งเป็นพารามิเตอร์ของฟังก์ชันอื่นได้ง่าย ๆ
.
⚙️ มีโครงสร้าง ดังนี้
lambda arguments: expression
.
arguments : สามารถรับได้หลายตัว คั่นด้วย ,
expression : จะถูกดำเนินการ และ return ผลลัพธ์ออกมา
.
🔥 มาดูตัวอย่างกันเลยจ้า
.
y = lambda x : x * 2
print(y(10))
# result => 20
.
⚡ โดยที่ x คือ arguments และ x * 2 คือ expression ซึ่งจะ return ผลลัพธ์ออกมาได้ 20 นั่นเอง
.
มาดูตัวอย่าง 2 arguments กันบ้าง
.
sum = lambda x, y : x + y
print(sum(5, 10))
# result => 15
.
⚡ จากโค้ด เรากำหนดให้มี 2 arguments และ expression คือ x + y และจะได้ผลลัพธ์ออกมาเป็น 15 นั่นเองจ้า
.
🌎 ลองใช้งานกับ map() ดูบ้างจ้า
.
ซึ่ง map() ปกติแล้วเราต้องประกาศฟังก์ชันถึงจะใช้งานได้ แต่มันสามารถใช้งานร่วมกับ Lambda ได้ง่าย ๆ เลย ตัวอย่างเช่น
.
indx1 = [1, 5, 7]
indx2 = [9, 5, 3]
result = map(lambda x, y: x + y, indx1, indx2)
print(list(result))
# result => [10, 10, 10]
.
เห็นไหมม ไม่ต้องประกาศฟังก์ชันให้ยุ่งยาก แถมยังเขียนโค้ดได้สั้นลงด้วย ! ปังไม่ไหว 🤣 ลองเอาไปใช้กับโค้ดของเพื่อน ๆ ดูนะ
.
หวังว่าจะเป็นประโยชน์น้าาา ใครมีอะไรเพิ่มเติมคอมเมนต์ไว้ได้เลยนะฮะ 🥰
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
python return list 在 prasertcbs Youtube 的最讚貼文
เนื้อหาประกอบด้วยเทคนิคการใช้ pandas ที่มีการใช้ groupby เพื่อแบ่งแถวใน dataframe ออกเป็นกลุ่ม ๆ เช่น dataframe ที่ประกอบด้วยราคาหุ้นรายวันหลาย ๆ ตัว โดยแบ่งออกเป็นกลุ่ม ๆ ตามชื่อของหุ้น โดยเนื้อหาได้เน้นถึง
1) การใช้ diff() เพื่อคำนวณหาการเปลี่ยนแปลงของราคาปิดของหุ้นในแต่ละวัน
2) การใช้ pct_change() เพื่อคำนวณการเปลี่ยนแปลงของราคาปิดว่ามีการเปลี่ยนแปลงเพิ่มขึ้นหรือลดลงกี่เปอร์เซ็นต์เทียบกับวันก่อนหน้า
3) การคำนวณหาอัตราผลตอบแทนรายวันของหุ้นโดยใช้ log return
ดาวน์โหลด Jupyter Notebook ที่ใช้ในคลิปได้ที่: https://goo.gl/UxZm9j
เชิญสมัครเป็นสมาชิกของช่องนี้ได้ที่ ► https://www.youtube.com/subscription_center?add_user=prasertcbs
playlist สอน Python สำหรับ data science ► https://www.youtube.com/playlist?list=PLoTScYm9O0GFVfRk_MmZt0vQXNIi36LUz
playlist สอน Jupyter Notebook ► https://www.youtube.com/watch?v=f3CLdRl-zyQ&list=PLoTScYm9O0GErrygsfQtDtBT4CloRkiDx
playlist สอนภาษาไพธอน Python เบื้องต้น ► https://www.youtube.com/watch?v=DI7eca5Kzdc&list=PLoTScYm9O0GH4YQs9t4tf2RIYolHt_YwW
playlist สอนภาษาไพธอน Python การเขียนโปรแกรมเชิงวัตถุ (OOP: Object-Oriented Programming) ► https://www.youtube.com/watch?v=4bVBSluxJNI&list=PLoTScYm9O0GF_wbU-7layLaSuHjzhIRc9
playlist สอน Python 3 GUI ► https://www.youtube.com/playlist?list=PLoTScYm9O0GFB1Y3cCmb9aPD5xRB1T11y
playlist สอนการใช้งานโปรแกรม R: https://www.youtube.com/watch?v=UaEtZ5XzVeE&list=PLoTScYm9O0GGSiUGzdWbjxIkZqEO-O6qZ
playlist สอนการเขียนโปรแกรมภาษา R: https://www.youtube.com/playlist?list=PLoTScYm9O0GF6qjrRuZFSHdnBXD2KVICp
![post-title](https://i.ytimg.com/vi/Y2j2eSG82-c/hqdefault.jpg)
python return list 在 prasertcbs Youtube 的精選貼文
เนื้อหาประกอบด้วยเทคนิคการใช้ pandas โดยเน้นถึง
1) การใช้ diff() เพื่อคำนวณหาผลต่างราคาปิดของหุ้นรายวัน
2) การใช้ pct_change() เพื่อคำนวณหาผลต่างราคาปิดว่าเพิ่มขึ้นหรือลดลงกี่เปอร์เซ็นต์เมื่อเทียบกับวันก่อนหน้า
3) การคำนวณผลตอบแทนรายวันของหุ้นแบบ log return โดยใช้ numpy.log ร่วมกับ diff()
ดาวน์โหลด Jupyter Notebook ที่ใช้ในคลิปได้ที่: https://goo.gl/Lbh3Ym
เชิญสมัครเป็นสมาชิกของช่องนี้ได้ที่ ► https://www.youtube.com/subscription_center?add_user=prasertcbs
playlist สอน Python สำหรับ data science ► https://www.youtube.com/playlist?list=PLoTScYm9O0GFVfRk_MmZt0vQXNIi36LUz
playlist สอน Jupyter Notebook ► https://www.youtube.com/watch?v=f3CLdRl-zyQ&list=PLoTScYm9O0GErrygsfQtDtBT4CloRkiDx
playlist สอนภาษาไพธอน Python เบื้องต้น ► https://www.youtube.com/watch?v=DI7eca5Kzdc&list=PLoTScYm9O0GH4YQs9t4tf2RIYolHt_YwW
playlist สอนภาษาไพธอน Python การเขียนโปรแกรมเชิงวัตถุ (OOP: Object-Oriented Programming) ► https://www.youtube.com/watch?v=4bVBSluxJNI&list=PLoTScYm9O0GF_wbU-7layLaSuHjzhIRc9
playlist สอน Python 3 GUI ► https://www.youtube.com/playlist?list=PLoTScYm9O0GFB1Y3cCmb9aPD5xRB1T11y
playlist สอนการใช้งานโปรแกรม R: https://www.youtube.com/watch?v=UaEtZ5XzVeE&list=PLoTScYm9O0GGSiUGzdWbjxIkZqEO-O6qZ
playlist สอนการเขียนโปรแกรมภาษา R: https://www.youtube.com/playlist?list=PLoTScYm9O0GF6qjrRuZFSHdnBXD2KVICp
![post-title](https://i.ytimg.com/vi/xl1VC_nZ1b8/hqdefault.jpg)
python return list 在 prasertcbs Youtube 的精選貼文
เข้าใจความแตกต่างระหว่าง method หรือ function ที่มีการส่งค่ากลับมายังตัวแปรได้ กับ method ที่ไม่มีการส่งค่ากลับมา (void method)
============
playlist สอนภาษา C# เบื้องต้น
https://www.youtube.com/watch?v=bu6kwrpOqFM&list=PLoTScYm9O0GE4trr-XPozJRwaY7V9hx8K
============
playlist สอนภาษา C เบื้องต้น
https://www.youtube.com/watch?v=Z_u8Nh_Zlqc&list=PLoTScYm9O0GHHgz0S1tSyIl7vkG0y105z
============
playlist สอนภาษา C++ เบื้องต้น
https://www.youtube.com/watch?v=_NHyJBIxc40&list=PLoTScYm9O0GEfZwqM2KyCBcPTVsc6cU_i
============
playlist สอนภาษาจาวา Java เบื้องต้น
https://www.youtube.com/watch?v=O3rW9JvADfU&list=PLoTScYm9O0GF26yW0zVc2rzjkygafsILN
============
playlist สอนการทำ Unit Test ภาษาจาวา Java
https://www.youtube.com/watch?v=R11yg8hKApU&list=PLoTScYm9O0GHiK3KNdH_PrNB0G3-kb1Bi
============
playlist สอนภาษาไพธอน Python เบื้องต้น
https://www.youtube.com/watch?v=DI7eca5Kzdc&list=PLoTScYm9O0GH4YQs9t4tf2RIYolHt_YwW
============
playlist สอนภาษาไพธอน Python การเขียนโปรแกรมเชิงวัตถุ (OOP: Object-Oriented Programming)
https://www.youtube.com/watch?v=4bVBSluxJNI&list=PLoTScYm9O0GF_wbU-7layLaSuHjzhIRc9
============
playlist สอนภาษา R เบื้องต้น
https://www.youtube.com/watch?v=oy4qViQLXsI&list=PLoTScYm9O0GF6qjrRuZFSHdnBXD2KVICp
============
playlist สอนภาษา PHP เบื้องต้น
https://www.youtube.com/watch?v=zlRDiXjYVo4&list=PLoTScYm9O0GH_6LARFxozL_viEsXV2wgO
============
เชิญสมัครเป็นสมาชิกของช่องนี้ได้ที่
https://www.youtube.com/subscription_center?add_user=prasertcbs
![post-title](https://i.ytimg.com/vi/OPpHBYFMBCE/hqdefault.jpg)