如何在字典中循环

问题描述 投票:-2回答:2

我在字典中有以下示例字典,如何仅在数据字段中循环并显示键/值。当我运行下面的代码时,出现以下错误。不知道我在做什么错。任何建议,请。

    in1 = {
    "data": {
        "id": "1574083",
        "username": "snoopdogg",
        "full_name": "Snoop Dogg",
        "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_1574083_75sq_1295469061.jpg",
        "bio": "This is my bio",
        "website": "http://snoopdogg.com",
        "counts": {
            "media": 1320,
            "follows": 420,
            "followed_by": 3410
        }
}}
print(in1['data']['id'])

for k , v in in1.items():

    print("\n RAW DATA:" + k)
    u_info = v['username'] + ' ' + v['full_name']
    print("Thanks for the info : " + u_info)

    for ke,v1 in v.items():
        print("Keys ", ke['website'])
        print("Keys ", ke['counts'])

我得到的错误是

python3 dictionary_example.py
1574083

 RAW DATA:data
Thanks for the info : snoopdogg Snoop Dogg
Traceback (most recent call last):
  File "dictionary_example.py", line 24, in <module>
    print("Keys ", ke['website'])
TypeError: string indices must be integers
python python-3.x python-2.7 python-3.7
2个回答
0
投票

您正在打印引起问题的引号内的u_info。在您的代码中,您尝试使用键k1作为字典,但它是字符串。如果要打印websitecounts值,则无需使用for循环,您可以直接使用v['website']v['counts']

in1 = {
    "data": {
        "id": "1574083",
        "username": "snoopdogg",
        "full_name": "Snoop Dogg",
        "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_1574083_75sq_1295469061.jpg",
        "bio": "This is my bio",
        "website": "http://snoopdogg.com",
        "counts": {
            "media": 1320,
            "follows": 420,
            "followed_by": 3410
        }
}}

print(in1['data']['id'])

for k , v in in1.items():
    print("\n RAW DATA:" + k)
    u_info = v['username'] + ' ' + v['full_name']
    print("\t" + u_info)

    print("Keys ", v['website'])
    print("Keys ", v['counts'])

0
投票

就像@Raju的答案一样,您可以不循环地获取['website']['counts']的值,因为它只有一个字典(基于您的问题)。

尝试一下:

print(in1['data']['id']) print(in1['data']['website']) print(in1['data']['counts'])

© www.soinside.com 2019 - 2024. All rights reserved.