मैं एक अजगर लिपि में एक नेस्टेड सूची खाली करने की कोशिश कर रहा हूँ:

deadBody_inv = [['AK47', 30],['M16', 30],['FragGrenade', 5],['Hunting Knife', 1]]

def search_body(deadBody):
   option = str(input("""\n\nYou enter the destroyed 
   bunker to find a dead enemy soldier./n
   A).Dispose Body
   B).Search Body  \n\n...>"""))

if option.lower() == 'a':
    inv_len = len(deadBody)
    for k in range(0, inv_len): 
        inv_len.remove(k)

मुझे यह त्रुटि मिलती रहती है: विशेषता त्रुटि: 'int' ऑब्जेक्ट में कोई विशेषता नहीं है 'निकालें'

मुझे यकीन है कि मैं यह गलत कर रहा हूं, मैं बस सूची के प्रत्येक मूल्य को एक सूची में हटाने की कोशिश कर रहा हूं। मुझे लगा कि लूप के लिए प्रत्येक सूची मान के माध्यम से पुनरावृति होगी (इसे k में संग्रहीत करें) और प्रत्येक मान को निकालने के लिए .remove() विधि का उपयोग करें

मैं क्या गलत कर रहा हूं?

-1
Sid Micheals 26 नवम्बर 2017, 21:28
2
inv_len = len(deadBody) inv_len को एक साधारण पूर्णांक के रूप में परिभाषित करता है। एक पूर्णांक से k को हटाने का क्या अर्थ है? किसी भी घटना में, सूचियों में एक clear() विधि होती है -- लूप में सभी तत्वों को हटाने का कोई कारण नहीं है।
 – 
John Coleman
26 नवम्बर 2017, 21:30
यह मेरे लिए स्पष्ट नहीं है कि अपेक्षित परिणाम क्या है।
 – 
timgeb
26 नवम्बर 2017, 21:46
धन्यवाद मैंने सूची के लिए स्पष्ट() फ़ंक्शन का उपयोग किया है, मैं बस सूची की सामग्री को खाली करना चाहता हूं। बस कुछ स्क्रिप्ट फाइलों में सूचियों और शब्दकोशों का अभ्यास करने की कोशिश कर रहा हूँ धन्यवाद
 – 
Sid Micheals
26 नवम्बर 2017, 21:47

3 जवाब

इस का उपयोग करें:

if option.lower() == 'a':
    items = []
    while len(deadBody) > 0:
        items.append(deadBody.pop())

सरणी आइटम में deadBody से लूटे गए सभी आइटम शामिल होंगे

इसके अतिरिक्त, यदि आपके पास खिलाड़ी की सूची के लिए एक सूची है, तो बस उपयोग करें

player.extend(deadBody)
deadBody = [] # or alternatively, del deadBody
0
mcchucklezz 26 नवम्बर 2017, 21:31
मैं सभी आइटम विकल्प प्राप्त करने की कोशिश नहीं कर रहा हूं (ए) शरीर का बहुत अधिक निपटान है, सूची के भीतर प्रत्येक आइटम को हटा रहा है
 – 
Sid Micheals
26 नवम्बर 2017, 21:34
बस del deadBody का उपयोग करें
 – 
mcchucklezz
26 नवम्बर 2017, 21:35
अनबाउंडलोकल एरर: स्थानीय चर 'डेडबॉडी' को असाइनमेंट से पहले संदर्भित किया गया है सूची डेडबॉडी एक स्थानीय चर है जो डेल () का उपयोग कर एक अनबाउंड स्थानीय त्रुटि का कारण बनता है
 – 
Sid Micheals
26 नवम्बर 2017, 21:39
मैं पहले पाइथन स्कोपिंग के बारे में पढ़ने की सलाह दूंगा।
 – 
mcchucklezz
26 नवम्बर 2017, 21:39
वर्तमान में "पायथन में उबाऊ सामग्री को स्वचालित करें" के माध्यम से काम कर रहा है
 – 
Sid Micheals
26 नवम्बर 2017, 21:41
inv_len = len(deadBody)

यह डेडबॉडी की लंबाई के बराबर है। बस कुछ ऐसा उपयोग करें जो मृत शरीर को खाली कर दे और यदि आप उन्हें अपनी सूची में जोड़ना चाहते हैं। जैसे कि:

player_inv.extend(deadBody)
deadBody.clear() #deadBody is now an empty list
0
user9011445user9011445 26 नवम्बर 2017, 21:58

आप inv_len में एक int संग्रहीत कर रहे हैं और फिर इसे int से निकालने के लिए कह रहे हैं।

मुझे लगता है कि आप सभी वस्तुओं को डेडबॉडी से निकालने का प्रयास कर रहे हैं, यदि आप ऐसा करना चाहते हैं तो बस डेडबॉडी को एक खाली सूची में पुन: असाइन करें।

deadBody = []

0
Cole Mundus 27 नवम्बर 2017, 01:10