[英]Iterate Through Python Dict for Specific Values
我正在使用 Python 3.6 并且我有一个像这样的字典:
{
"TYPE": {
"0": "ELECTRIC",
"1": "ELECTRIC",
"2": "ELECTRIC",
"3": "ELECTRIC",
"4": "TELECOMMUNICATIONS"
},
"ID": {
"0": 13,
"1": 13,
"2": 13,
"3": 13,
"4": 24
},
"1/17/2019": {
"0": 23,
"1": 23,
"2": 23,
"3": 23,
"4": 1
},
"DATE": {
"0": "1/17/2019",
"1": "2/28/2019",
"2": "3/5/2019",
"3": "3/28/2019",
"4": "1/1/2019"
}
}
如何遍历它并仅访问Utility Type
和ID
的值? 我的目标是将 append 放到一个列表列表中,例如[[ELECTRIC, 13], [ELECTRIC, 13], ...]
到目前为止,我已经能够像这样访问这些值:
for key, value in addresses.items():
if key == 'UTILITY TYPE':
for k, v in value.items():
print(v)
elif key == 'ID':
for k, v in value.items():
print(v)
但我不知道如何 append 将v
的值添加到我的列表中。
您可以使用pandas
库来执行此操作。 另外,考虑尝试pd.DataFrame(d)
看看这对你是否有用(因为我不知道你的最终用例)。
import pandas as pd
# d is your dictionary
df = pd.DataFrame(d).T
columns = df.columns
labels = df.index.tolist()
print('labels: {}\n'.format(labels))
[df[x].tolist() for x in columns]
Output :
labels: ['TYPE', 'ID', '1/17/2019', 'DATE']
[['ELECTRIC', 13, 23, '1/17/2019'],
['ELECTRIC', 13, 23, '2/28/2019'],
['ELECTRIC', 13, 23, '3/5/2019'],
['ELECTRIC', 13, 23, '3/28/2019'],
['TELECOMMUNICATIONS', 24, 1, '1/1/2019']]
d = {
"TYPE": {
"0": "ELECTRIC",
"1": "ELECTRIC",
"2": "ELECTRIC",
"3": "ELECTRIC",
"4": "TELECOMMUNICATIONS"
},
"ID": {
"0": 13,
"1": 13,
"2": 13,
"3": 13,
"4": 24
},
"1/17/2019": {
"0": 23,
"1": 23,
"2": 23,
"3": 23,
"4": 1
},
"DATE": {
"0": "1/17/2019",
"1": "2/28/2019",
"2": "3/5/2019",
"3": "3/28/2019",
"4": "1/1/2019"
}
}
output = []
for key in d["TYPE"]:
temp = [d["TYPE"][key], d["ID"][key]]
output.append(temp)
或者
x = [[d["TYPE"][key], d["ID"][key]] for key in d["TYPE"]]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.