जब एक टुपल को सूची में बदलने की आवश्यकता होती है, प्रत्येक तत्व के बाद एक स्ट्रिंग जोड़कर, तो सूची समझ का उपयोग किया जाता है।
उदाहरण
my_tup = (56, 78, 91, 32, 45, 11, 23)
print("टुपल है: ")
print(my_tup)
K = "Hi"
my_result = [elem for sub in my_tup for elem in (sub, K)]
print("K के साथ रूपांतरण के बाद टुपल: ")
print(my_result)
आउटपुट
टुपल है: (56, 78, 91, 32, 45, 11, 23) K के साथ रूपांतरण के बाद टुपल: [56, 'Hi', 78, 'Hi', 91, 'Hi', 32, 'Hi', 45, 'Hi', 11, 'Hi', 23, 'Hi']
व्याख्या
एक टुपल परिभाषित की जाती है, और कंसोल पर प्रदर्शित की जाती है।
K का मान, एक स्ट्रिंग, परिभाषित किया जाता है।
टुपल तत्वों के माध्यम से पुनरावृत्ति करने और इसे सूची में बदलने के लिए सूची समझ का उपयोग किया जाता है।
इसे एक वेरिएबल को असाइन किया जाता है।
इसे आउटपुट के रूप में कंसोल पर प्रदर्शित किया जाता है।
कोड विश्लेषण
[elem for sub in my_tup for elem in (sub, K)]
यह नेस्टेड सूची समझ के बराबर है:
result = []
for sub in my_tup:
for elem in (sub, K):
result.append(elem)
प्रत्येक sub (टुपल तत्व) के लिए, यह टुपल (sub, K) पर पुनरावृत्ति करता है, पहले sub फिर K देता है।
वैकल्पिक तरीके
itertools.chain का उपयोग करके
from itertools import chain list(chain.from_iterable((x, K) for x in my_tup))
साधारण लूप
result = []
for x in my_tup:
result.extend([x, K])
sum() ट्रिक के साथ (कम कुशल)
sum(([x, K] for x in my_tup), [])
सामान्यीकरण: प्रत्येक N तत्वों के बाद स्ट्रिंग डालें
def insert_every_n(tup, string, n=1):
result = []
for i, x in enumerate(tup):
result.append(x)
if (i + 1) % n == 0:
result.append(string)
return result
उपयोग के मामले
डेटा फॉर्मेटिंग/सीरियलाइज़ेशन
टेस्ट डेटा उत्पन्न करना
डिलीमिटर-आधारित आउटपुट बनाना