【发布时间】:2018-12-13 03:47:39
【问题描述】:
输入:
a = [{'layer': 'OVC', 'ceiling': '020', 'type': None}]
b = [{'layer': 'BKN', 'ceiling': '010', 'type': None}, {'layer': 'OVC', 'ceiling': '020', 'type': None}]
c = [{'layer': 'BKN', 'ceiling': '010', 'type': None}, {'layer': 'BKN', 'ceiling': '020', 'type': None},{'layer': 'OVC', 'ceiling': '030', 'type': None}]
d = [a,b,c]
results1 = []
results2 = []
for i in range(0,len(d)):
res1=[]
res2=[]
cloudstf = d[i]
if not cloudstf:
res1 = "-9999"
res2 = "-9999"
results1.append(res1)
results2.append(res2)
elif len(d[i])==1:
res1 = d[i]["layer"]
res2 = d[i]["ceiling"]
results1.append([res1])
results2.append([res2])
elif len(d[i])>1:
for k in range(0,len(d)):
res1 = d[i][k]["layer"]
res2 = d[i][k]["ceiling"]
results1.append([res1])
results2.append([res2])
cloudtf = []
cloud_group_layer = results1
cloud_group_height = results2
print(cloud_group_height)
print(cloud_group_layer)
而不是得到:
cloud_group_layer = [['OVC'], ['BKN'], ['OVC'], ['BKN'],['BKN'],['OVC']]
cloud_group_height = [['020'], ['010'], ['020'], ['010'],['020'],['030']]
如何获得:
cloud_group_layer = [['OVC'], ['BKN','OVC'], ['BKN','BKN','OVC']]
cloud_group_height = [['020'], ['010','020'], ['010','020','030']]
层和高度按how many分组。代码全部存在,只是语法有点混乱。或者它可能是Tuple,因为高度。
您在运行它时可能会遇到此错误,这是因为索引:
Traceback (most recent call last): File "main.py", line 22, in <module> res1 = d[i]["layer"] TypeError: list indices must be integers or slices, not str
【问题讨论】:
标签: python arrays python-3.x list