كيف يمكنني إرجاع سلسلة مقتبسة من الصفوف (tuple)؟

StackOverflow https://stackoverflow.com/questions/1439862

  •  10-07-2019
  •  | 
  •  

سؤال

ولدي الصفوف (tuple) من السلاسل التي كنت تريد لاستخراج محتويات كسلسلة معلنة، أي بمعنى.

tup=('string1', 'string2', 'string3')

when i do this

main_str = ",".join(tup)

#i get

main_str = 'string1, string2, string3'

#I want the main_str to have something like this

main_str = '"string1", "string2", "string3"'

وجت

هل كانت مفيدة؟

المحلول

", ".join('"{0}"'.format(i) for i in tup)

أو

", ".join('"%s"' % i for i in tup)

نصائح أخرى

وكذلك، فإن إجابة واحدة هي:

', '.join([repr(x) for x in tup])

أو

repr(tup)[1:-1]

ولكن هذا ليس لطيفا حقا. ؛)

تحديث: على الرغم من أن لاحظت، فلن تكون قادرة على السيطرة إذا السلسلة الناتجة يبدأ مع "أو". إذا ما يهم، عليك أن تكون أكثر وضوحا، مثل الأجوبة الأخرى هنا هي:

', '.join(['"%s"' % x for x in tup])

وهنا طريقة واحدة للقيام بذلك:

>>> t = ('s1', 's2', 's3')
>>> ", ".join( s.join(['"','"']) for s in t)
'"s1", "s2", "s3"'
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top