python - AttributeError:“dict”对象没有属性“append”
问题描述
Can someone please tell me what basic thing I am missing here.
Type: <class 'list'>
Value : ['09,10,11,12,13,14,15']
for datapoint in value:
y.append(datetime.fromtimestamp(datapoint).strftime('%I%P').lstrip('0').upper())
I want value of y should be like this-[9PM,10PM,11PM,12PM,1PM,2PM,3PM]
如果我使用上述函数,我不确定为什么它没有转换为我想要的值。有人可以建议我在这里缺少什么以及为什么会出现此错误->“AttributeError:'dict'对象没有属性'append'”
解决方案
您有一个包含一个字符串的 1 元素列表:您datapoint
是整个字符串,而不是它的一部分。您需要拆分并迭代拆分的值:
from datetime import datetime
y = [] # use list to use append, see dict approach below
data = '09,10,11,12,13,14,15'.split(",") #split into ["09","10",...,"15"]
for dp in data: # "09" then "10" then "11" etc.
y.append(datetime.strptime(dp,"%H").strftime('%I%P').strip("0").upper())
print(y)
输出:
['9AM', '10AM', '11AM', '12PM', '1PM', '2PM', '3PM']
要添加它,您需要使用字典update((key,value)-iterable)
或d[key]=value
:
d = {}
for time in y:
d["Time "+time] = time
# or
d.update( ((t,t) for t in y) ) # doesnt make much sense to have identical key/values
# d[]=... - Output
{'Time 9AM': '9AM', 'Time 12PM': '12PM', 'Time 3PM': '3PM',
'Time 11AM': '11AM', 'Time 2PM': '2PM', 'Time 10AM': '10AM',
'Time 1PM': '1PM'}
# update - Output
{'12PM': '12PM', '1PM': '1PM', '11AM': '11AM', '9AM': '9AM',
'10AM': '10AM', '3PM': '3PM', '2PM': '2PM'}
推荐阅读
- python - Scrapy 在跟随链接时添加了不需要的前缀链接
- c# - 在 HTTP 响应到达时解析它
- ruby-on-rails - 找到最近的@client.event.starts_at vs Time.now 的最佳方法是什么?
- ios - 如何将 UITextField 字符串从 SecondViewController 传递到模型类中的数组?
- java - java.lang.ArithmeticException:除以零
- r - 在R中合并表格,如果在两者中则合并单元格
- micronaut - @Client 没有从 /measure 端点接收正文
- rest - 使用 Google Tag Manager 和 JSforce 发布到 Salesforce API 不起作用?
- c++ - lambda 是一个合适的对象吗?
- c++ - 我的内部循环 xml 在 C++ 向量中没有按预期使用 write_xml