遍历列表时出错
Posted
技术标签:
【中文标题】遍历列表时出错【英文标题】:Error while Iterating through a list 【发布时间】:2018-08-17 14:59:05 【问题描述】:['January': 'Sun', 'January': 'Sun', 'January': 'Sun', 'January': 'Sun']
那是我的口号。
我的代码列出 dict_month 的值
dict_month = []
jan_month= []
for x in file_st:
a=calendar.month_name[int(x['Start Time'][5:7])] #month name
b=parser.parse(x['Start Time']).strftime("%a") # day name
dict_month.append(a:b) # []
for x in dict_month:
jan_month.append(x['January'])
我得到的错误是
KeyError Traceback (most recent call
last)
<ipython-input-42-879788f99587> in <module>()
23
24 for x in dict_month:
---> 25 jan_month.append(x['January'])
26
KeyError: 'January'
代码哪里出错了?我该如何纠正?
输出 [太阳,太阳,太阳]
编辑 its a key error 这应该会有所帮助。
【问题讨论】:
预期输出是什么?file_st
是什么?
@UbdusSamad file_st 的时间戳为 yyyy-mm-dd hh-mm-ss
@WillDaSilva 预期输出为 [sun,sun,sun]
【参考方案1】:
希望对你有帮助:
dict_month = ['January': 'Sun', 'January': 'Sun', 'January': 'Sun', 'January': 'Sun']
jan_month = [x['January'] for x in dict_month]
>>>['Sun', 'Sun', 'Sun', 'Sun']
【讨论】:
【参考方案2】:['January': 'Sun', 'January': 'Sun', 'January': 'Sun', 'January': 'Sun']
不是字典
dict 是包含在
中的内容 'January': 'Sun', 'January': 'Sun','January': 'Sun','January': 'Sun'
应该是你的字典
[] 中包含的任何内容都是列表
技术上如此
['January': 'Sun', 'January': 'Sun', 'January': 'Sun', 'January': 'Sun']
是一个列表,列表中的每一项都是一个具有1个键值对
的dictx = ['January': 'Sun', 'January': 'Sun', 'January': 'Sun', 'January': 'Sun']
xyz = []
for y in x:
xyz.append(y['January'])
print(xyz)
【讨论】:
你需要了解列表和字典的区别, 一个列表是列表文字写在方括号 [ ]x = [sun,mon,tue]
是一个列表
x = 'January': 'Sun', 'January': 'Sun','January': 'Sun','January': 'Sun'
january 是关键,而 sun 是值 key:value
drive.google.com/file/d/1m5l6DbRymIWK7U5u9Y45QeGXbMzwqLbY/…看看这个错误
dict_month = ['January': 'Sun', 'January': 'Sun', 'January': 'Sun', 'January': 'Sun'] jan_month= [] for y in dict_month: jan_month.append(y['January']) print (jan_month)
【参考方案3】:
dict_month 是一个字典列表,值可以附加到一个新的列表中,即 jan_month。
>>> dict_month = ['January': 'Sun', 'January': 'Sun', 'January': 'Sun', 'January': 'Sun']
>>> jan_month = []
>>> for x in dict_month:
... jan_month.append(x['January'])
...
>>> jan_month
['Sun', 'Sun', 'Sun', 'Sun']
【讨论】:
仍然遇到错误drive.google.com/file/d/1m5l6DbRymIWK7U5u9Y45QeGXbMzwqLbY/… 是的,但它正在工作,它没有获得密钥,这就是它在您的代码中引发错误的原因。可能是您的 dict_month 不正确并且不包含任何名称为“January”的密钥 为什么没有拿到钥匙? 显示您在代码中分配给 x 的 dict_month 值(您在驱动器上共享的代码)。以上是关于遍历列表时出错的主要内容,如果未能解决你的问题,请参考以下文章