اذهب إلى المحتوى

السؤال

نشر

أريد أن أنسق سلسلة نصية باستخدام قاموس في بايثون 3، فما هي أسهل طريقة لفعل ذلك؟ أريد شيء مشابه لهذا (المثال الأول):

# Fails, KeyError 'latitude'
geopoint = {'latitude':41.123,'longitude':71.091}
print '{latitude} {longitude}'.format(geopoint)

# Succeeds
print '{latitude} {longitude}'.format(latitude=41.123,longitude=71.091)

Recommended Posts

  • 0
نشر

هنالك عدة طرق في لغة بايثون لتمرير محتويات القاموس إلى سلسلة نصية، فيمكنك على سبيل المثال فك تحزيم القاموس عبر استخدام رمز النجمتين "**” مباشرة قبل اسم القاموس كما يظهر في المثال التالي:

geopoint = {'latitude':41.123,'longitude':71.091}
print('{latitude} {longitude}'.format(**geopoint))

أو يمكنك أيضا استخدام نمط التنسيق الجديد والذي يدعم الإشارة إلى سمات كائن وعناصر الدواران وذلك عن طريق دالة format كما في المثال التالي:

'{0[latitude]} {0[longitude]}'.format(geopoint)
'The title is {0.title}s'.format(a) # the a from your first example

كما يمكنك استخدام دالة format_map في الإصدار الثالث من بايثون وستعمل بدون مشاكل.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...