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

Python เป็นภาษาการเขียนโปรแกรมแบบหลายกระบวนทัศน์แบบไดนามิกพิมพ์อเนกประสงค์ มันถูกออกแบบมาให้เรียนรู้เข้าใจและใช้งานได้อย่างรวดเร็วและบังคับใช้ไวยากรณ์ที่สะอาดและสม่ำเสมอ โปรดทราบว่า Python 2 สนับสนุนอย่างเป็นทางการตั้งแต่วันที่ 01-01-2020 สำหรับคำถาม Python เฉพาะรุ่นให้เพิ่มแท็ก [python-2.7] หรือ [python-3.x] เมื่อใช้ตัวแปรหรือไลบรารี Python (เช่น Jython, PyPy, Pandas, Numpy) โปรดรวมไว้ในแท็ก

8
ล็อคล่ามสากล (GIL) ใน CPython คืออะไร
ล็อคล่ามระดับโลกคืออะไรและทำไมจึงมีปัญหา? มีเสียงดังรบกวนมากมายเกี่ยวกับการนำ GIL ออกจาก Python และฉันต้องการที่จะเข้าใจว่าทำไมจึงมีความสำคัญ ฉันไม่เคยเขียนคอมไพเลอร์หรือล่ามเองดังนั้นอย่าประหยัดกับรายละเอียดฉันอาจต้องการให้พวกเขาเข้าใจ

9
ลบค่า None ออกจากรายการโดยไม่ลบค่า 0
นี่คือแหล่งที่มาของฉันที่ฉันเริ่มต้นด้วย รายการของฉัน L = [0, 23, 234, 89, None, 0, 35, 9] เมื่อฉันเรียกใช้สิ่งนี้: L = filter(None, L) ฉันได้รับผลลัพธ์นี้ [23, 234, 89, 35, 9] แต่นี่ไม่ใช่สิ่งที่ฉันต้องการสิ่งที่ฉันต้องการจริงๆคือ: [0, 23, 234, 89, 0, 35, 9] เพราะฉันคำนวณเปอร์เซ็นต์ไทล์ของข้อมูลและ 0 สร้างความแตกต่างอย่างมาก วิธีการลบค่าไม่มีออกจากรายการโดยไม่ลบค่า 0 ออก
244 python  list  filter  nonetype 

7
แทนที่อักขระที่ไม่ใช่ ASCII ด้วยช่องว่างเดียว
ฉันต้องการแทนที่อักขระที่ไม่ใช่ ASCII (\ x00- \ x7F) ทั้งหมดด้วยช่องว่าง ฉันประหลาดใจที่นี่ไม่ได้เป็นเรื่องง่ายใน Python ถ้าฉันไม่ได้ทำอะไร ฟังก์ชันต่อไปนี้จะลบอักขระที่ไม่ใช่ ASCII ทั้งหมด: def remove_non_ascii_1(text): return ''.join(i for i in text if ord(i)<128) และอันนี้แทนที่อักขระที่ไม่ใช่ ASCII ด้วยจำนวนช่องว่างตามจำนวนไบต์ในจุดรหัสอักขระ (เช่น–ตัวละครจะถูกแทนที่ด้วย 3 ช่องว่าง): def remove_non_ascii_2(text): return re.sub(r'[^\x00-\x7F]',' ', text) ฉันจะแทนที่อักขระที่ไม่ใช่ ASCII ทั้งหมดด้วยช่องว่างเดียวได้อย่างไร ของ มากมายของที่คล้ายกันดังนั้นคำถาม , ไม่มีใครอยู่ตัวอักษรทดแทนเป็นตรงข้ามที่จะปอก , และนอกจากนี้ยังอยู่อักขระที่ไม่ใช่ ASCII ทั้งหมดที่ไม่ได้ตัวละครที่เฉพาะเจาะจง

15
numpy: ความถี่ที่มีประสิทธิภาพที่สุดจะนับสำหรับค่าที่ไม่ซ้ำในอาร์เรย์
ในnumpy/ scipyมีวิธีที่มีประสิทธิภาพในการรับความถี่นับสำหรับค่าที่ไม่ซ้ำกันในอาร์เรย์หรือไม่? บางสิ่งบางอย่างตามสายเหล่านี้: x = array( [1,1,1,2,2,2,5,25,1,1] ) y = freq_count( x ) print y >> [[1, 5], [2,3], [5,1], [25,1]] (สำหรับคุณผู้ใช้ R ออกมีฉันโดยทั่วไปกำลังมองหาtable()ฟังก์ชั่น)

15
องค์ประกอบที่ชาญฉลาดของ 2 รายการ?
ฉันมีตอนนี้: list1 = [1, 2, 3] list2 = [4, 5, 6] ฉันต้องการที่จะมี: [1, 2, 3] + + + [4, 5, 6] || || || [5, 7, 9] เป็นเพียงการเพิ่มองค์ประกอบสองรายการอย่างชาญฉลาด แน่นอนฉันสามารถย้ำสองรายการ แต่ฉันไม่ต้องการทำอย่างนั้น คืออะไร วิธีที่ Pythonic ที่สุดของการทำเพื่อ?

8
หลามมัลติโพรเซสซิง PicklingError: ไม่สามารถดอง <type 'function'>
ฉันขอโทษที่ฉันไม่สามารถทำซ้ำข้อผิดพลาดด้วยตัวอย่างที่ง่ายขึ้นและรหัสของฉันซับซ้อนเกินกว่าจะโพสต์ ถ้าฉันรันโปรแกรมใน IPython shell แทนที่จะเป็น Python ปกติสิ่งต่าง ๆ ก็ใช้ได้ดี ฉันค้นหาบันทึกย่อก่อนหน้านี้เกี่ยวกับปัญหานี้ พวกเขาทั้งหมดเกิดจากการใช้พูลเพื่อเรียกใช้ฟังก์ชันที่กำหนดไว้ในฟังก์ชันคลาส แต่นี่ไม่ใช่กรณีสำหรับฉัน Exception in thread Thread-3: Traceback (most recent call last): File "/usr/lib64/python2.7/threading.py", line 552, in __bootstrap_inner self.run() File "/usr/lib64/python2.7/threading.py", line 505, in run self.__target(*self.__args, **self.__kwargs) File "/usr/lib64/python2.7/multiprocessing/pool.py", line 313, in _handle_tasks put(task) PicklingError: Can't pickle &lt;type 'function'&gt;: attribute lookup …

15
เปรียบเทียบอินสแตนซ์ของวัตถุเพื่อความเท่าเทียมกันโดยคุณลักษณะของพวกเขา
ฉันมีคลาสMyClassซึ่งมีตัวแปรสมาชิกสองตัวfooและbar: class MyClass: def __init__(self, foo, bar): self.foo = foo self.bar = bar ฉันมีสองกรณีของชั้นนี้แต่ละที่มีค่าเหมือนกันfooและbar: x = MyClass('foo', 'bar') y = MyClass('foo', 'bar') อย่างไรก็ตามเมื่อฉันเปรียบเทียบมันเพื่อความเท่าเทียมกัน Python จะคืนค่าFalse: &gt;&gt;&gt; x == y False ฉันจะทำให้หลามพิจารณาว่าวัตถุทั้งสองนี้เท่ากันได้อย่างไร
244 python  equality 

11
รับแถวที่มีจำนวนสูงสุดในกลุ่มโดยใช้ groupby
ฉันจะค้นหาแถวทั้งหมดใน dataframe แพนด้าซึ่งมีค่าสูงสุดได้อย่างไร countคอลัมน์หลังจากจัดกลุ่มตาม['Sp','Mt']คอลัมน์ได้อย่างไร ตัวอย่างที่ 1: dataFrame ต่อไปนี้ซึ่งฉันจัดกลุ่มตาม['Sp','Mt']: Sp Mt Value count 0 MM1 S1 a **3** 1 MM1 S1 n 2 2 MM1 S3 cb 5 3 MM2 S3 mk **8** 4 MM2 S4 bg **10** 5 MM2 S4 dgd 1 6 MM4 S2 rd 2 7 MM4 S2 …

8
รับบูลีนแบบสุ่มในหลามหรือไม่
ฉันกำลังมองหาวิธีที่ดีที่สุด (เร็วและสวยงาม) เพื่อรับบูลีนแบบสุ่มในหลาม (พลิกเหรียญ) สำหรับช่วงเวลาที่ฉันใช้หรือrandom.randint(0, 1)random.getrandbits(1) มีทางเลือกที่ดีกว่าที่ฉันไม่ทราบหรือไม่?
244 python  random 

5
การสร้างรายการว่างใน Python
วิธีที่ดีที่สุดในการสร้างรายการว่างใหม่ใน Python คืออะไร? l = [] หรือ l = list() ฉันถามสิ่งนี้เพราะสองสาเหตุ: เหตุผลทางเทคนิคซึ่งเป็นสิ่งที่เร็ว (การสร้างคลาสทำให้เกิดค่าใช้จ่ายหรือไม่) ความสามารถในการอ่านโค้ด - อันไหนเป็นแบบแผนมาตรฐาน

6
แปลง timedelta เป็นวันชั่วโมงและนาที
ฉันมี timedelta ฉันต้องการวันเวลาและนาทีจากนั้น - ทั้งในฐานะ tuple หรือพจนานุกรม ... ฉันไม่รำคาญ ฉันต้องทำสิ่งนี้หลายสิบครั้งในหลาย ๆ ภาษาในช่วงหลายปีที่ผ่านมา แต่ Python มักจะมีคำตอบง่ายๆทุกอย่างดังนั้นฉันจึงคิดว่าฉันจะถามที่นี่ก่อนที่จะเลิกคณิตศาสตร์ที่เรียบง่าย Mr Fooz ยกประเด็นที่ดี ฉันกำลังจัดการกับ "รายชื่อ" (เล็กน้อยเช่นรายชื่ออีเบย์) ที่แต่ละคนมีระยะเวลา ฉันพยายามหาเวลาที่เหลือโดยการทำwhen_added + duration - now ฉันพูดถูกแล้วว่าจะไม่นับรวม DST? หากไม่เป็นเช่นนั้นวิธีที่ง่ายที่สุดในการเพิ่ม / ลบชั่วโมงคืออะไร
243 python  timedelta 

30
แยกข้อความจากไฟล์ HTML โดยใช้ Python
ฉันต้องการแยกข้อความจากไฟล์ HTML โดยใช้ Python ฉันต้องการเอาท์พุทเดียวกับที่ฉันจะได้รับถ้าฉันคัดลอกข้อความจากเบราว์เซอร์และวางลงในแผ่นจดบันทึก ฉันต้องการบางสิ่งที่แข็งแกร่งกว่าการใช้นิพจน์ทั่วไปที่อาจล้มเหลวใน HTML ที่มีรูปแบบไม่ดี ฉันเคยเห็นหลายคนแนะนำ Beautiful Soup แต่ฉันมีปัญหาเล็กน้อยในการใช้ สำหรับหนึ่งมันหยิบข้อความที่ไม่ต้องการเช่นแหล่งที่มาของ JavaScript นอกจากนี้มันไม่ได้แปลเอนทิตี HTML ตัวอย่างเช่นฉันคาดหวัง &amp; # 39; ในซอร์ส HTML ที่จะแปลงเป็นเครื่องหมายอัญประกาศเดี่ยวในข้อความราวกับว่าฉันได้วางเนื้อหาของเบราว์เซอร์ลงในสมุดบันทึก การปรับปรุง html2textดูมีแนวโน้ม มันจัดการเอนทิตี HTML อย่างถูกต้องและละเว้น JavaScript อย่างไรก็ตามมันไม่ได้ผลิตข้อความล้วน มันสร้างมาร์กดาวน์ที่จะต้องเปลี่ยนเป็นข้อความธรรมดา มันมาพร้อมกับตัวอย่างหรือเอกสารไม่ แต่รหัสดูสะอาด คำถามที่เกี่ยวข้อง: กรองแท็ก HTML และแก้ไขเอนทิตีในหลาม แปลงเอนทิตี XML / HTML เป็น Unicode String ใน Python

2
ความแตกต่างระหว่างแพ็กเกจ dist และแพ็คเกจไซต์คืออะไร
ฉันรู้สึกสับสนเล็กน้อยจากกระบวนการติดตั้งแพคเกจหลาม โดยเฉพาะความแตกต่างระหว่างแพคเกจที่ติดตั้งในไดเรกทอรี dist-packages และไดเรกทอรีแพคเกจไซต์คืออะไร?

7
การแม็พกับค่าในพจนานุกรมไพ ธ อน
Given พจนานุกรม{ k1: v1, k2: v2 ... }ฉันต้องการที่จะได้รับการบริการที่มีให้ฉันผ่านฟังก์ชั่น{ k1: f(v1), k2: f(v2) ... }f มีฟังก์ชั่นดังกล่าวในตัวหรือไม่? หรือฉันต้องทำ dict([(k, f(v)) for (k, v) in my_dictionary.iteritems()]) เป็นการดีที่ฉันจะเขียน my_dictionary.map_values(f) หรือ my_dictionary.mutate_values_with(f) นั่นคือมันไม่สำคัญสำหรับฉันถ้าพจนานุกรมต้นฉบับกลายพันธุ์หรือสร้างสำเนา

9
การต่อสองรายการ - ความแตกต่างระหว่าง '+ =' และขยาย ()
ฉันเคยเห็นมีสองวิธี (อาจมากกว่า) เชื่อมรายการใน Python: วิธีหนึ่งคือการใช้วิธีขยาย () a = [1, 2] b = [2, 3] b.extend(a) อีกอันใช้ตัวดำเนินการบวก (+): b += a ตอนนี้ฉันสงสัยว่า: ตัวเลือกใดในสองวิธีนี้คือ 'pythonic' ในการทำรายการ concatenation และมีความแตกต่างระหว่างทั้งสอง (ฉันได้ค้นหา Python tutorial อย่างเป็นทางการ แต่ไม่พบอะไรเกี่ยวกับหัวข้อนี้)
243 list  python 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.