मैं स्ट्रिंग के रूप में आईपी पते की एक सूची प्रबंधित करने का प्रयास करता हूं, और उन्हें प्रिंट करता हूं:

iplist = ("192.168.1.1", "192.168.1.2",...)
for ip in iplist:
  print ip

जिसके परिणामस्वरूप:

192.168.1.1
192.168.1.2
....

यदि सूची में एक से अधिक तत्व हैं, तो यह काम करता है, लेकिन यदि सूची में एक ही तत्व है, तो यह एक स्ट्रिंग वर्ण सूची की तरह एकल आईपी का उपयोग करता है और प्रिंट करता है:

1
9
2
. 
1
....

मैं इस मुद्दे को सरल तरीके से कैसे संभाल सकता हूं?

1
Agustin Nunez 27 जून 2018, 01:21

1 उत्तर

सबसे बढ़िया उत्तर

आपके पास जो है वह IP पतों की सूची नहीं है, बल्कि एक टपल है।

सिंगलटन टपल के मामले में, अल्पविराम जोड़ने से आपकी समस्या ठीक हो जाती है।

iplist = ("192.168.1.1",)
for ip in iplist:
    print ip

इसे सूची में बदलने से भी समस्या ठीक हो जाती है।

iplist = ["192.168.1.1"]
for ip in iplist:
    print ip

सूची और टपल के बीच महत्वपूर्ण अंतर यह है कि सूचियों को जोड़ा जा सकता है, जबकि टुपल्स अपरिवर्तनीय हैं।

डेटा के लिए सूचियों का उपयोग करना आम तौर पर सबसे अच्छा होता है जिसे जोड़ा जा सकता है (जैसे आईपी पते की सूची), और संरचित डेटा (जैसे एक्स-वाई निर्देशांक) के लिए टुपल्स आरक्षित करना।

0
Daniel Moore 27 जून 2018, 03:52