python - 从字符串创建二维字典

标签 python dictionary io

所以我有一个创建 2D 字典的程序(也就是说,一个将值映射到另一个字典的字典)。然后我将它的字符串表示形式存储在一个如下所示的文件中。

Emission Dictionary:
{' ': {'A': 0.07801487990167236, 'C': 0.01087880333163352, 'E': 0.048483897540501315, 'D': 0.07454333869428209, 'G': 0.08257822408765805, 'F': 0.028334575504386825, 'I': 0.0395206527281999, 'H': 0.04682984871664117, 'K': 0.0453653944219982, 'M': 0.028569934230311587, 'L': 0.07167326978647734, 'N': 0.04869964303926568, 'Q': 0.03551301664509212, 'P': 0.09113612887197793, 'S': 0.07330770538317709, 'R': 0.046064932857385686, 'T': 0.06238313785483597, 'W': 0.009427424521764144, 'V': 0.05475359248944155, 'Y': 0.023921599393297507}, 'B': {'A': 0.051661016949152545, 'C': 0.013559322033898305, 'E': 0.042305084745762715, 'D': 0.042440677966101695, 'G': 0.06454237288135593, 'F': 0.06142372881355932, 'I': 0.07294915254237289, 'H': 0.03064406779661017, 'K': 0.037694915254237286, 'M': 0.03023728813559322, 'L': 0.09749152542372881, 'N': 0.0408135593220339, 'Q': 0.03023728813559322, 'P': 0.0471864406779661, 'S': 0.04854237288135593, 'R': 0.0568135593220339, 'T': 0.07525423728813559, 'W': 0.022779661016949154, 'V': 0.09383050847457627, 'Y': 0.03959322033898305}, 'E': {'A': 0.06982017732828409, 'C': 0.016122814576294248, 'E': 0.04564729358942379, 'D': 0.03127810910300309, 'G': 0.053750274004701545, 'F': 0.050273248826504004, 'I': 0.09449949734309925, 'H': 0.023099541183851487, 'K': 0.03690181939121824, 'M': 0.023530389955932485, 'L': 0.10936000060470003, 'N': 0.026894033878319235, 'Q': 0.03390099548742602, 'P': 0.02086970981957263, 'S': 0.047219513670000074, 'R': 0.04811144621571162, 'T': 0.07031905485385156, 'W': 0.019433547245969296, 'V': 0.13722155453260468, 'Y': 0.04174697838953264}, 'G': {'A': 0.10475171232876712, 'C': 0.009289383561643836, 'E': 0.08446061643835616, 'D': 0.08240582191780822, 'G': 0.05898972602739726, 'F': 0.04794520547945205, 'I': 0.030950342465753424, 'H': 0.029794520547945205, 'K': 0.04897260273972603, 'M': 0.0194777397260274, 'L': 0.08625856164383562, 'N': 0.040625, 'Q': 0.045077054794520545, 'P': 0.06643835616438357, 'S': 0.06357020547945205, 'R': 0.05333904109589041, 'T': 0.04041095890410959, 'W': 0.023715753424657534, 'V': 0.0293236301369863, 'Y': 0.03420376712328767}, 'I': {'A': 0.0625, 'C': 0.0, 'E': 0.010416666666666666, 'D': 0.14583333333333334, 'G': 0.10416666666666667, 'F': 0.041666666666666664, 'I': 0.07291666666666667, 'H': 0.020833333333333332, 'K': 0.03125, 'M': 0.041666666666666664, 'L': 0.08333333333333333, 'N': 0.0625, 'Q': 0.0, 'P': 0.03125, 'S': 0.020833333333333332, 'R': 0.020833333333333332, 'T': 0.09375, 'W': 0.010416666666666666, 'V': 0.13541666666666666, 'Y': 0.010416666666666666}, 'H': {'A': 0.1327115346551383, 'C': 0.00959732742431484, 'E': 0.08545386958641699, 'D': 0.047079042777624903, 'G': 0.0352368676408823, 'F': 0.036472740790089844, 'I': 0.05859293910910925, 'H': 0.021516744632882917, 'K': 0.053374271631400835, 'M': 0.031389246938075994, 'L': 0.1245866342249965, 'N': 0.030240271119672108, 'Q': 0.0567053359788743, 'P': 0.021468468337991996, 'S': 0.039340352706610474, 'R': 0.06604679904026725, 'T': 0.04166244249086371, 'W': 0.016244973230794484, 'V': 0.06256125054914285, 'Y': 0.029718887134850176}, 'S': {'A': 0.06946781854220427, 'C': 0.012173230113317626, 'E': 0.05912711769325704, 'D': 0.0848199259508583, 'G': 0.14377875014024458, 'F': 0.03349040727027937, 'I': 0.03603350910654849, 'H': 0.026964359175735815, 'K': 0.04772055798646172, 'M': 0.019129361606641984, 'L': 0.05858483862522906, 'N': 0.058435244399566176, 'Q': 0.0371367665208123, 'P': 0.0511986237331239, 'S': 0.06621414413403642, 'R': 0.05301245371928644, 'T': 0.06103444407045888, 'W': 0.009667526833464229, 'V': 0.04414899584876024, 'Y': 0.02786192452971315}, 'T': {'A': 0.07681286088862779, 'C': 0.006318685254968264, 'E': 0.06944822546673735, 'D': 0.08379063802960182, 'G': 0.18785551559611996, 'F': 0.026034129497227516, 'I': 0.020833034831573366, 'H': 0.028527216196466695, 'K': 0.050119639505394525, 'M': 0.013984210450904819, 'L': 0.05532073417104867, 'N': 0.07512214692017824, 'Q': 0.04357170489877208, 'P': 0.07099565859040305, 'S': 0.05172438496697376, 'R': 0.04718238218732538, 'T': 0.038155688965942146, 'W': 0.009313254910950955, 'V': 0.023913572994426376, 'Y': 0.02097631567635723}}
Transition Dictionary:
{' ': {' ': 0.5832317477143236, 'B': 0.028011130250430633, 'E': 0.09403736584073141, 'G': 0.024983437127335365, 'I': 7.28766397243938e-05, 'H': 0.07186961706638399, 'S': 0.11708625944083742, 'T': 0.0807075659202332}, 'B': {' ': 0.6012203389830508, 'B': 0.03105084745762712, 'E': 0.032406779661016946, 'G': 0.019932203389830507, 'I': 0.00013559322033898305, 'H': 0.04542372881355932, 'S': 0.12298305084745763, 'T': 0.14684745762711865}, 'E': {' ': 0.11143781463060666, 'B': 0.0022222558164144584, 'E': 0.8144114045563803, 'G': 0.003990990037642293, 'I': 0.0, 'H': 0.005041648399824638, 'S': 0.03269134831970249, 'T': 0.030204538239429167}, 'G': {' ': 0.09708904109589041, 'B': 0.00821917808219178, 'E': 0.017636986301369863, 'G': 0.7022688356164384, 'I': 0.0, 'H': 0.04297945205479452, 'S': 0.06528253424657535, 'T': 0.06652397260273972}, 'I': {' ': 0.020833333333333332, 'B': 0.010416666666666666, 'E': 0.0, 'G': 0.0, 'I': 0.8020833333333334, 'H': 0.041666666666666664, 'S': 0.07291666666666667, 'T': 0.052083333333333336}, 'H': {' ': 0.01848499331373316, 'B': 0.0003813827296382657, 'E': 0.0006372470925601402, 'G': 0.0029014053229442748, 'I': 9.655258978183943e-06, 'H': 0.9098102258847838, 'S': 0.010379403401547738, 'T': 0.057395686995814446}, 'S': {' ': 0.39081491454429856, 'B': 0.02558061258835409, 'E': 0.10101350087886607, 'G': 0.019746437787501403, 'I': 0.0, 'H': 0.05508807360035903, 'S': 0.34791877033546503, 'T': 0.059837690265155764}, 'T': {' ': 0.23972661623108665, 'B': 0.014099037138927097, 'E': 0.059791953232462176, 'G': 0.012207702888583218, 'I': 7.164144887666208e-05, 'H': 0.0412368179734067, 'S': 0.11870988078862907, 'T': 0.5141563502980284}}

我一直想弄清楚的是,稍后如何拥有读取文件的代码并将其转换回相应的 2D 字典。有谁知道这样做的好方法吗?

最佳答案

Python 字典不过是一种 JSON 数据结构。您可以使用 json.dumps 函数将字典转换为字符串并将其存储到文件中。稍后您可以使用 json.loads 函数将字符串转换回字典。

可以找到有关功能的更多信息here

关于python - 从字符串创建二维字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22394169/

相关文章:

python - 有没有比pip更有效的满足项目依赖的方式?

python - Cython 中的继承和 std::shared_ptr

c++ - 如何在 teamcity CI 中使用 python 构建脚本?

python - 将混合格式 .DAT 转换为 .CSV(或其他格式)

Python:获取命令输出并放入字典同时删除字符

java消息队列或手动读取文件

python - 嵌套字典到 MultiIndex pandas DataFrame(3 级)

C++ - 使用映射存储回调函数

C-将文本内容加载到二维数组中

java - 什么是预打包的字符流类?