استخراج الأرقام فقط من البيانات في جيثون
سؤال
هنا مشكلتي. أنا أعمل على برنامج Jython وعلي استخراج الأرقام من Pyjavainstance:
{string1 = "foo"، xxx1، xxx2، ...، xxxn، string2 = "bar"}
(حيث xxx هي أرقام النقطة العائمة).
سؤالي هو كيف يمكنني استخراج الأرقام ووضعها في بنية أكثر بسيطة مثل قائمة بيثون.
شكرا لكم مقدما.
المحلول
أ PyJavaInstance
هو مجمع جيثون حول مثيل جافا؛ كيف تستخرج الأرقام منه يعتمد على ما هو عليه. إذا كنت بحاجة إلى الحصول على مجموعة من الأشياء - بعضها سلاسل وبعضها يطفو، ثم:
float_list = []
for item in instance_properties:
try:
float_list.append(float(item))
except ValueError:
pass
نصائح أخرى
هل يمكنك تكرار وتحقق مما إذا كان العنصر يعويم؟ الطريقة التي تبحث عنها هي isinstance
. وبعد آمل أن يتم تنفيذها في جيثون.
شكرا لك فيناي. إنه أيضا نوع من الحل الذي وجدته للتو:
new_inst=[]
for element in instance:
try:
float(element)
new_inst.append(float(element))
except ValueError:
del(element)
silentghost: اقتراح جيد. كانت المشكلة هي العثور على الطريقة التي يمكن أن تحدد ما إذا كان كل عنصر تكره هو رقم تعويم.