下面是我的字典集
dict = {'city':[('hyderabad','pune','chennai'),'state':[('Telangana','mumbai','tamilnadu')]}
我试图从这个字典的键值对列表中删除前两个字符串,所以它看起来和下面一样
dict = {'city':[('chennai'),'state':[('tamilnadu')]}
我试过了:
for v in dict.values():
del v[0:1]
但这会删除整个列表而不是前两个索引,需要帮助仅删除键值对中每个值列表的前两个索引
答案 0 :(得分:3)
您可以使用列表切片:
dct = {
"city": [("hyderabad", "pune", "chennai")],
"state": [("Telangana", "mumbai", "tamilnadu")],
}
dct = {k: [l[2:] for l in v] for k, v in dct.items()}
print(dct)
打印:
{
'city': [('chennai',)],
'state': [('tamilnadu',)]
}
答案 1 :(得分:3)
试试这个:
dictionary = {
'city':[('hyderabad','pune','chennai')],
'state':[('Telangana','mumbai','tamilnadu')]
}
dict_new = {}
for key, value in dictionary.items():
dict_new[key] = [value[0][2:],]
print(dict_new)
或者,如果您更喜欢使用理解符号...
dict_new = {key: [value[0][2:],] for key, value in dictionary.items()}
print(dict_new)
输出:
{
'city': [('chennai',)],
'state': [('tamilnadu',)]
}
顺便说一句.. 尽量不要使用保留字,如 dict
、tuple
、str
等,如变量名