我有以下字典:
d = {
u'71': u' 12.3/0.2mm',
u'70': u' 12.1/0.2mm',
u'79': u' 13.9/0.2mm',
u'78': u' 13.7/0.2mm'
}
键目前是字符串。如何将它们转换为整数?
我尝试过使用d = {int(k) for k in d}
,但它弄乱了字典,只返回了键。
答案 0 :(得分:3)
使用items()
迭代键和值。
d = dict(int(k),v for k,v in d.items())
或者是Bhargav Rao建议的较短语法:
d = {int(k),v for k,v in d.items()}
最后,正如Manjit Kumar所建议的那样,如果你的词典不包含整数键:
d = {'not an int': 'test', '123': '456'}
new_d = {}
for k,v in d.items():
try:
new_d[int(k)] = v
except ValueError:
new_d[k] = v
# new_d = {123: '456', 'not an int': 'test'}
答案 1 :(得分:2)
尝试创建一个类似的新词典:
.td-hover td {
position: relative;
width: 1em;
border: 1px solid #ddd;
}
.on-hover {
display: none;
position: absolute;
top: -1.5em;
left: -1em;
background: #eee;
border: 1px solid black;
}
.td-hover td:hover .on-hover {
display: inline-block;
}
答案 2 :(得分:1)
您还可以使用pop()
方法在不创建新词典的情况下处理词典:
for k in d:
d[int(k)] = d.pop(k)
示例:
>>> d = {u'71': u' 12.3/0.2mm',
u'70': u' 12.1/0.2mm',
u'79': u' 13.9/0.2mm',
u'78': u' 13.7/0.2mm'}
>>> for k in d:
d[int(k)] = d.pop(k)
>>> d
{70: u' 12.1/0.2mm', 71: u' 12.3/0.2mm', 78: u' 13.7/0.2mm', 79: u' 13.9/0.2mm'}
答案 3 :(得分:0)
试试这个:
for key in one_dictionary:
#Do what you want with int(key)