JiaxiangBU / tutoring2

The collection of Python and R code scripts to tutor others.
https://jiaxiangbu.github.io/tutoring2/
Other
8 stars 7 forks source link

python数据处理:列表拼接为字典 #62

Closed slsongge closed 3 years ago

slsongge commented 3 years ago

问题

如下图,我有一个列表,想转换为第三行的字典的样式: image

数据

['fpd_0','fpd_5','fpd_10','ever4_pd10']
# [y+'_mean' for y in ['fpd_0','fpd_5','fpd_10','ever4_pd10']]

{'fpd_0_mean':'{:.2%}', 'fpd_5_mean':'{:.2%}', 'fpd_10_mean':'{:.2%}', 'ever4_pd10_mean':'{:.2%}'}
slsongge commented 3 years ago

我刚才找到了一个解决方法,如下

a = [y+'_mean' for y in ['fpd_0','fpd_5','fpd_10','ever4_pd10']]
dict((k, '{:.2%}') for k in a)

image

JiaxiangBU commented 3 years ago

@slsongge

some_list = ['fpd_0','fpd_5','fpd_10','ever4_pd10']
some_dict = {'fpd_0_mean':'{:.2%}', 'fpd_5_mean':'{:.2%}', 'fpd_10_mean':'{:.2%}', 'ever4_pd10_mean':'{:.2%}'}
output_list = {i+'_mean':'{:.2%}' for i in some_list}
output_list == some_dict
True
# use pandas
import pandas as pd
output_list = pd.Series(['{:.2%}' for i in some_list], index = [i+'_mean' for i in some_list]).to_dict()
output_list == some_dict
True