【发布时间】:2021-09-25 11:34:42
【问题描述】:
所以,我是这个网站的新用户,我的字典功能有问题。
den = {
'first_name': 'den',
'last_name': 'elc',
'age': '16',
'city': 'slovakia',
}
for user, user_info in den.items():
nameo = user_info['first_name']
namei = user_info['last_name']
age = user_info['age']
city = user_info['city']
print(f"\tFirst name:{nameo}")
print(f"\tLast_name:{namei}")
print(f"\tAge:{age}")
print(f"\tCity:{city}")
Python 打印出这个 TypeError:
Traceback (most recent call last):
File "D:/PyCharm Community/pycharm/venv/Test.py", line 15, in <module>
nameo = user_info['first_name']
TypeError: string indices must be integers
有什么假设吗?
【问题讨论】:
-
为什么这里有一个循环?
-
当你做用户时,用户信息,用户信息获取字典值的值,所以那些r一些字符串,字符串本身不能有字符串索引对吗?例如如果你有一个字符串
'hi',那么这个字符串有两个索引0和1,但它不能有一个名为'first_name'的索引,对吧?所以你应该做的是只取一个循环变量,然后试试这个,它会像这样工作 -:for user_info in den :。现在你可以使用 -:user_info['first_name']获得你想要的值 -
另外,您似乎想要存储多个此类用户的信息,但是您正在迭代仅包含一个用户信息的字典,因此使用这些作为子字典制作一个更大的字典,那么它应该工作。
标签: python python-3.x dictionary