여러 목록에서 사전을 만들려고합니다. 문제는, 주어진리스트가 비어 있다면, 나는 그것을 dict에 포함하고 싶지 않다는 것입니다.Python 속성을 찾으면 사전 만들기
을 Heres 가능한 키
'required',
'as_banner',
'min',
'chart_layout',
'client_name',
'filter_text',
'sort_order',
'chart_type',
'chart_color',
'position',
'order'
을 heres DICT를 구축하는 나의 방법 :
propertyDict = dict()
propertyDict["required"] = requiredtype
propertyDict["as_banner"] = as_bannertype
propertyDict["min"] = mintype
propertyDict["chart_layout"] = chart_layouttype
propertyDict["client_name"] = clientnametype
propertyDict["filter_text"] = filter_texttype
propertyDict["sort_order"] = sort_ordertype
propertyDict["chart_type"] = charttype
propertyDict["chart_color"] = chart_colortype
propertyDict["position"] = positiontype
propertyDict["order"] = ordertype
을 Heres는 "필드"에있는 경우 내가 키의 값을 추가하는 내 스크립트 모음 .
...
{'as_banner': [], 'chart_color': ['green', 'pink', 'green', 'green', 'green', 'orange', 'yellow', 'white'], 'chart_layout': ['1', '2', '3', '4', '5', '6', '7', '8'], 'sort_order': ['asending', 'desending', 'asending', 'desending', 'asending', 'asending', 'asending', 'desending'], 'chart_type': ['bar', 'WeightedBar', 'column', 'pie', 'line', 'column', 'line', 'pie'], 'client_name': ['Sport Parents (Regrouped)', 'Sport Parents (Regrouped)', 'Sport Parents (Regrouped)', 'Sport Parents (Regrouped)', 'Sport Parents (Regrouped)', 'Sport Parents (Regrouped)', 'Sport Parents (Regrouped)', 'Sport Parents (Regrouped)'], 'filter_text': [], 'required': [], 'position': [], 'min': [], 'order': []}
참고, 내가 포함 빈 값으로 키를 돼요 그리고 난의 사본을 만들려면 그나마 :
for table in mtd_tom.Tables:
if not is_profile_table(table, type="mtd"):
if table.Description == "Sport Parents (Regrouped)":
for i, subaxis in enumerate(table.Axes['Side'].SubAxes):
nField = shatter_sae(subaxis.Specification)['varName']
field = mdd.Fields[nField]
if field.Properties.Item['required']:
requiredtype.append(field.Properties.Item['required'])
if field.Properties.Item['as_banner']:
as_bannertype.append(field.Properties.Item['as_banner'])
if field.Properties.Item['min']:
mintype.append(field.Properties.Item['min'])
if field.Properties.Item['chart_layout']:
chart_layouttype.append(field.Properties.Item['chart_layout'])
if field.Properties.Item['client_name']:
clientnametype.append(field.Properties.Item['client_name'])
if field.Properties.Item['filter_text']:
filter_texttype.append(field.Properties.Item['filter_text'])
if field.Properties.Item['sort_order']:
sort_ordertype.append(field.Properties.Item['sort_order'])
if field.Properties.Item['chart_type']:
charttype.append(field.Properties.Item['chart_type'])
if field.Properties.Item['chart_color']:
chart_colortype.append(field.Properties.Item['chart_color'])
if field.Properties.Item['position']:
positiontype.append(field.Properties.Item['position'])
if field.Properties.Item['order']:
ordertype.append(field.Properties.Item['order'])
else:
print "%s not found" % properties[i]
는 Heres는 지금의 출력으로 값이 비어있는 키를 제외하는 목록 ...
어떻게해야합니까?
미안 나는 그 dict의 사본을 원하지 않는다는 것을 잊었다. –
@ Boosted_d16 : 방금 작성한 원본 dict의 복사본입니다. 그것은 당신이 얻을 수있는 것과 거의 같은 것입니다. dict 객체 자체 만 재 구축됩니다. 키와 값은 똑같은 객체 *입니다. –
이것은 불량입니다 !! –