मैं एक स्ट्रिंग सूची को शून्य मानों और स्ट्रिंग्स ['1', '2', '',...) के रूप में दर्ज की गई संख्याओं के साथ एक पूर्णांक सूची में बदलने की कोशिश कर रहा हूं जहां शून्य मान शून्य हैं [1, 2, 0,। ..]। जिस कोड का मैं अभी उपयोग कर रहा हूं वह मेरी सूचियों से छुटकारा पाता है और एक 0 देता है: छवि विवरण यहां दर्ज करें

try:
    input1 = int('column1')
except ValueError:
    input1 = 0
try:
    input2 = int('column2')
except ValueError:
    input2 = 0
try:
    input3 = int('column3')
except ValueError:
    input3 = 0

print(input1)
0
-1
Shannon Healy 31 अगस्त 2018, 18:29
नहीं नहीं, तुम ठीक पहले थे। कृपया छवि को हटा दें। +1
 – 
tpk
31 अगस्त 2018, 18:32

2 जवाब

आप प्रत्येक मान को int में बदलने के लिए सूची समझ का उपयोग कर सकते हैं, या यदि यह एक खाली स्ट्रिंग है तो बस 0 का उपयोग करें।

>>> values = ['1', '2', '', '4']
>>> [int(i) if i else 0 for i in values]
[1, 2, 0, 4]
4
Cory Kramer 31 अगस्त 2018, 18:31

समाधान

some_data = ['1', '2', '', '3', '', '4']
new_data = []

for i in some_data :
    if i != '':
        new_data.append(int(i))
    else:
        new_data.append(0)

print(some_data)
print(new_data)

आउटपुट

(xenial)vash@localhost:~/python$ python3 helping.py 
['1', '2', '', '3', '', '4']
[1, 2, 0, 3, 0, 4]

ऐसा लगता है कि लूप का उपयोग करके कार्य आसान हो सकता है। some_data में आइटम के माध्यम से चक्र के लिए पहले एक for लूप सेट करें। फिर प्रत्येक आइटम के लिए if i != '': चेक करें। यदि आइटम पास हो जाता है, तो हम append आइटम को int, else के रूप में आइटम के '' होने की स्थिति में हम append एक 0.

0
vash_the_stampede 31 अगस्त 2018, 19:01