python 字典套字典或列表的示例

yipeiwu_com6年前Python基础

文件f1

A 1 a
A 1 b
A 2 C
B 2 a
B 2 b

生成如下字典:

tdict={'A':{1:['a','b'], 2:['C']}, 'B':{2:['a','b']} }
In [22]: tdict={}


In [23]: f=open('f1')


In [24]: while True:
  ...:   line=f.readline().strip()
  ...:   if not line:
  ...:     break
  ...:   pos1=line.split()[0]
  ...:   pos2=line.split()[1]
  ...:   pos3=line.split()[2]
  ...:   if pos1 not in tdict:
  ...:     tdict[pos1]={}
  ...:     tdict[pos1][pos2]=[pos3]
  ...:   else:
  ...:     if pos2 not in tdict[pos1]:
  ...:       tdict[pos1][pos2]=[pos3]
  ...:     else:
  ...:       tdict[pos1][pos2].append(pos3)
  ...:


In [25]: f.close()


In [26]: tdict
Out[26]: {'A': {'1': ['a', 'b'], '2': ['C']}, 'B': {'2': ['a', 'b']}}

In [27]: tdict['B']['2']
Out[27]: ['a', 'b']

以上这篇python 字典套字典或列表的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python 列表,数组和矩阵sum的用法及区别介绍

python 列表,数组和矩阵sum的用法及区别介绍

1. 列表使用sum, 如下代码,对1维列表和二维列表,numpy.sum(a)都能将列表a中的所有元素求和并返回,a.sum()用法是非法的。 但是对于1维列表,sum(a)和nump...

利用python实现微信头像加红色数字功能

利用python实现微信头像加红色数字功能

通过Python实现将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果。 类似于图中效果 实现过程: 准备两张图片如下:  ...

mac PyCharm添加Python解释器及添加package路径的方法

mac PyCharm添加Python解释器及添加package路径的方法

一、背景 PyCharm执行Python时,找不到自己安装的package,例如pandas、numpy、scipy、scikit等,在执行时报如下错误ImportError: No...

解决python字典对值(值为列表)赋值出现重复的问题

解决python字典对值(值为列表)赋值出现重复的问题

可能很少有人遇到这个问题,网上也没找到,这里记录一下,希望也可以帮到其他人。 问题描述:假设有一个字典data,其键不定,可能随时添加键(这不是关键),某一个键下面对应的值为一个长度为1...

详解Python进程间通信之命名管道

管道是一种简单的FIFO通信信道,它是单向通信的。 通常启动进程创建一个管道,然后这个进程创建一个或者多个进程子进程接受管道信息,由于管道是单向通信,所以经常需要创建两个管道来实现双向通...