gpt4 book ai didi

尝试按索引访问列表时出现 Python 错误 - “List indices must be integers, not str”

转载 作者:太空宇宙 更新时间:2023-11-04 06:01:46 26 4
gpt4 key购买 nike

我有这段 Python 代码:

sm.GetSMSStatus() 
sm.GetSMSFolders()
sms = sm.GetNextSMS(Start = True, Folder=0)
sms = sm.GetNextSMS(Location = sms['Location'], Folder=0)
sms = sm.GetSMS(Location = loc, Folder = 0)

我收到错误:

    Traceback (most recent call last):
File "sms_teste.py", line 43, in <module>
sms = sm.GetNextSMS(Location = sms['Location'], Folder=0)
TypeError: list indices must be integers, not str

我试图解决的问题:

首先,我一直在寻找相同问题的答案,但找不到任何相似的答案。

根据 sms 变量进行打印以查看它返回的内容以及如何分配 'Location',这是打印在:

[{'RejectDuplicates': 0, 'SMSCDateTime': datetime.datetime(2014, 7, 1, 16, 31, 58), 'Class': 1, 'Name': u'', 'InboxFolder': 0, 'Text': u'dsgfzggzdfrg', 'SMSC': {'DefaultNumber': u'', 'Format': 'Text', 'Number': u'+#####', 'Validity': 'Max', 'Location': 0, 'Name': u''}, 'ReplaceMessage': 0, 'Coding': 'Default_No_Compression', 'Number': u'+#####', 'DateTime': None, 'DeliveryStatus': 0, 'State': 'UnSent', 'MessageReference': 0, 'Length': 12, 'Location': 0, 'Memory': 'SM', 'ReplyViaSameSMSC': 0, 'UDH': {'Text': '', 'ID16bit': 0, 'AllParts': 0, 'ID8bit': 0, 'PartNumber': -1, 'Type': 'NoUDH'}, 'Type': 'Submit', 'Folder': 2}]

我注意到“位置”等于 0,但到达那里的关键是“位置”但是现在我走投无路了,当变量本身是用字符串键做的时候,我怎么把一个键字符串转换成整数呢?我正在使用 gammu,因此作为函数结果的预格式化形式被返回。

有人可以帮帮我吗?

我希望我的信息对您有所帮助,以便您理解我的问题P. S. 电话号码是故意放在 # # # 上的

最佳答案

sms 是一个列表(因为括号 [])。它的唯一元素是字典 {}

你能做什么?你可以访问该列表的唯一元素,这将是一个字典:

sms[0]['Location']
......
'-----> dictionary

关于尝试按索引访问列表时出现 Python 错误 - “List indices must be integers, not str”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24515479/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com