اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

نقوم بالمرور على المفاتيح التي نريد حذفها ونستخدم del key لحذف المفتاح من القاموس.

mydict = {'one': 1, 'two': 2, 'three': 3, 'four': 4}
print(mydict)

keytoremove = ['one' , 'two']

for k in keytoremove:
	del mydict[k]
    
print(mydict)

ناتج أول طباعة:

{'one': 1, 'two': 2, 'three': 3, 'four': 4}

الثانية:

{'three': 3, 'four': 4}

عليك تعديل البرنامج ليعمل كما تريدين بعد تأكدك من فهم الفكرة.

  • 0
نشر

هناك عدة طرق للوصول إلى ما تريد:

  • إنشاء دالة تقوم بذلك بهذا الشكل:
def del_all(mapping, to_remove):
      for key in to_remove:
          del mapping[key]

ثم نستخدمها:

sampleDict = {
  "name": "kelly",
  "age": 25,
  "salary": 80000,
  "city" : "New yourk"
}

keysToRemove = ['name' , 'salary']

def del_all(mapping, to_remove):
      for key in to_remove:
          del mapping[key]
        
del_all(sampleDict, keysToRemove) 
print(sampleDict)
  • إستعمال:
all(sampleDict.pop(k) for k in keysToRemove)

بهذا الشكل:

sampleDict = {
  "name": "kelly",
  "age": 25,
  "salary": 80000,
  "city" : "New yourk"
}

keysToRemove = ['name' , 'salary']

all(sampleDict.pop(k) for k in keysToRemove)
print(sampleDict)
  • إستعمال:
all(map(sampleDict.pop, keysToRemove))

بهذا الشكل:

sampleDict = {
  "name": "kelly",
  "age": 25,
  "salary": 80000,
  "city" : "New yourk"
}

keysToRemove = ['name' , 'salary']

all(map(sampleDict.pop, keysToRemove))
print(sampleDict)
  • إستعمال:
list(map(sampleDict.pop, keysToRemove))

بهذا الشكل:

sampleDict = {
  "name": "kelly",
  "age": 25,
  "salary": 80000,
  "city" : "New yourk"
}

keysToRemove = ['name' , 'salary']

list(map(sampleDict.pop, keysToRemove))
print(sampleDict)
  • إستعمال Dict Comprehensions:
finalDict = {key: sampleDict[key] for key in sampleDict if key not in keysToRemove}

بهذا الشكل:

sampleDict = {
  "name": "kelly",
  "age": 25,
  "salary": 80000,
  "city" : "New yourk"
}

keysToRemove = ['name' , 'salary']

finalDict = {key: sampleDict[key] for key in sampleDict if key not in keysToRemove}
print(finalDict)

و كلها تعطي نفس الخرج.

  • -1
نشر

يمكنك استخدام 

sampleDict.pop(key)

 

لحذف أي key من داخل القاموس بهذا الشكل 

sampleDict = {
  "name": "kelly",
  "age": 25,
  "salary": 80000,
  "city" : "New yourk"
}
sampleDict.pop("name")
print(sampleDict)

أو يمكنك استخدام 

del sampleDict[key]
sampleDict = {
  "name": "kelly",
  "age": 25,
  "salary": 80000,
  "city" : "New yourk"
}
del sampleDict['name']
print(sampleDict)

أو كالتالي لحذف أكثر من مفتاح مرة واحدة 

sampleDict = {
    "name": "kelly",
    "age": 25,
    "salary": 80000,
    "city" : "New yourk"
}

keysToRemove = ['name' , 'salary']

for key in keysToRemove:
	del sampleDict[key]
    
print(sampleDict)

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...