
Python字典理解
是否可以在Python中(对于键)创建字典理解?如果没有列表理解,则可以使用以下内容:l = []for n in range(1, 11): l.append(n)我们可以将其简化为列表理解:l = [n for n in range(1, 11)]。但是,说我想将字典的键设置为相同的值。我可以:d = {}for n in range(1, 11): d[n] = True # same value for each我已经试过了...
2024-01-10
python字典基于值降序排序
我想根据子键key3的值按降序对字典d进行排序。见下文:d = { '123': { 'key1': 3, 'key2': 11, 'key3': 3 }, '124': { 'key1': 6, 'key2': 56, 'key3': 6 }, '125': { 'key1': 7, 'key2': 44, 'key3': 9 }, }所以最终的字典看起来像这样。d = { '125': { 'key1': 7, 'key2': 44, 'key3': 9 }, '12...
2024-01-10
如何在python字典中创建缩写
我想在字典中缩写2个字符串中的第一个字。如何在python字典中创建缩写输入字典:names = { 'fire' : 'John Smith', 'water' : 'Steve Doe', 'earth' : 'Bob Smith' } 我想这是输出。输出词典:names_ab = { 'fire' : 'J. Smith', 'water' : 'S. Doe', 'earth' : 'B. Smith' } 回答:你可以做这样的事情:names = {'fire': 'John Sm...
2024-01-10
Python-重命名字典键
有没有一种方法可以重命名字典键,而无需将其值重新分配给新名称并删除旧名称键;而且没有迭代字典键/值?对于OrderedDict,在保持键的位置的同时执行相同的操作。回答:对于常规命令,可以使用:mydict[new_key] = mydict.pop(old_key)对于OrderedDict,我认为你必须使用一种理解来构建一个全新的。>>> Or...
2024-01-10
检查存在的字典VS在python
一组似乎检查字典键作为集是一个稍快一点:检查存在的字典VS在pythonimport random import string import timeit repeat = 3 numbers = 1000 def time(statement, _setup=None): print min( timeit.Timer(statement, setup=_setup or setup).repeat( repeat, numbers)) random.seed('slartiba...
2024-01-10
Python-字典中键的顺序
码:d = {'a': 0, 'b': 1, 'c': 2}l = d.keys()print l打印['a', 'c', 'b']。我不确定该方法如何keys()确定l中关键字的顺序。但是,我希望能够以“适当”的顺序检索关键字。当然,正确的顺序将创建列表['a', 'b', 'c']。和这个:os.popen("sudo -S %s"%(command), 'w').write('mypass')回答:你可以使用OrderedDict(需要Python 2.7)或...
2024-01-10
仅在Python字典中加入值
我有一本字典。我只想加入价值观。这是字典: -仅在Python字典中加入值d = {'x': 1, 'y': 2, 'z': 3} 我的预期输出为123(应该是123,没有任何排序)代码我使用: -d = {'x': 1, 'y': 2, 'z': 3} test = ' '.join(d.values()) print test 它显示的错误: -Traceback (most recent call last): File "test.py", line 2, in <module> t...
2024-01-10
如何在python字典中获取第一个值
我有一本这样的字典:myDict = { 'BigMeadow2_U4': (1609.32, 22076.38, 3.98), 'MooseRun': (57813.48, 750187.72, 231.25), 'Hwy14_2': (991.31, 21536.80, 6.47) }如何获得字典中每个项目的第一个值?我最后要列出一个清单:myList = [1609.32,57813.48,991.31]回答:尝试这种方式:my_list = [elem[0] for ...
2024-01-10
如何在python中打印字典的键值对
我想像这样从python字典输出键值对:key1 \t value1key2 \t value2我以为我可以这样做:for i in d: print d.keys(i), d.values(i)但是很明显,这不是keys()和values()不争论的方式。回答:您现有的代码只需进行一些调整。i 是 关键,因此您只需要使用它:for i in d: print i, d[i]您还可以获得包含键和值的迭代器...
2024-01-10
Python-向字典添加新键?
创建密钥后,是否可以向Python字典添加密钥?它似乎没有.add()方法。回答:d = {'key': 'value'}print(d)# {'key': 'value'}d['mynewkey'] = 'mynewvalue'print(d)# {'key': 'value', 'mynewkey': 'mynewvalue'}...
2024-01-10
将Python字典转换为数据框
我有如下的Python字典:{u'2012-06-08': 388, u'2012-06-09': 388, u'2012-06-10': 388, u'2012-06-11': 389, u'2012-06-12': 389, u'2012-06-13': 389, u'2012-06-14': 389, u'2012-06-15': 389, u'2012-06-16': 389, u'2012-06-17': 389, u'2012-06-18': 390, u'2012-06-19': 390, u...
2024-01-10
在python字典中赋值(复制与参考)
我知道在python中,任何东西,无论是数字,字符串,字典还是其他任何东西都是对象。变量名只是指向内存中的对象。现在根据这个问题,>> a_dict = b_dict = c_dict = {}这将创建一个空字典,并且所有变量都指向该dict对象。因此,更改任何一个都会反映在其他变量中。>> a_dict["key"] = "value" #say>> print a_dict>...
2024-01-10
Python-反转/反转字典映射
给定这样的字典:my_map = {'a': 1, 'b': 2}如何将这张地图倒置即可:inv_map = {1: 'a', 2: 'b'}回答:对于Python 2.7.xinv_map = {v: k for k, v in my_map.iteritems()}对于Python 3+:inv_map = {v: k for k, v in my_map.items()}...
2024-01-10
在python中,如何将类对象转换为字典
假设我在python中有一个简单的类class Wharrgarbl(object): def __init__(self, a, b, c, sum, version='old'): self.a = a self.b = b self.c = c self.sum = 6 self.version = version def __int__(self): return self.sum + 9000 d...
2024-01-10
从Python字典中的值中查找键:
对Python来说还算是新手,仍然需要大量的信息。我所见过的所有关于字典的文档都说明了通过键获取值的各种方法-但我正在寻找一种反之的pythonic方法-通过值获取键。我知道我可以遍历键并检查它们的值,直到找到要查找的值,然后抓住键,但是我正在寻找直接途径。回答:没有直接路线。但是,...
2024-01-10
如何在Python中逐行打印字典?
这是字典cars = {'A':{'speed':70, 'color':2}, 'B':{'speed':60, 'color':3}}使用这个 for loopfor keys,values in cars.items(): print(keys) print(values)它打印以下内容:B{'color': 3, 'speed': 60}A{'color': 2, 'speed': 70}但是我希望程序像这样打印它:Bcolor : 3speed...
2024-01-10
使用Python中的重复键制作字典
我有以下列表,其中包含重复的具有不同值的汽车注册号。我想将其转换为字典,该字典接受汽车登记号的多个键。到目前为止,当我尝试将列表转换为字典时,它消除了键之一。如何制作具有重复键的字典?清单是:EDF768, Bill Meyer, 2456, Vet_ParkingTY5678, Jane Miller, 8987, AgHort_ParkingGEF123, Jill Black, 3456, Cre...
2024-01-10
Python-按字典中的值获取密钥
我制作了一个函数,该函数将查询年龄Dictionary并显示匹配的名称:dictionary = {'george' : 16, 'amber' : 19}search_age = raw_input("Provide age")for age in dictionary.values(): if age == search_age: name = dictionary[age] print name我知道如何比较和查找年龄,但我不知道如何显示此人的名字。另外,KeyErr...
2024-01-10
Python-展平嵌套字典,压缩键
假设你有一个像这样的字典:{'a': 1, 'c': {'a': 2, 'b': {'x': 5, 'y' : 10}}, 'd': [1, 2, 3]}你将如何将其扁平化为:{'a': 1, 'c_a': 2, 'c_b_x': 5, 'c_b_y': 10, 'd': [1, 2, 3]}回答:基本上与展平嵌套列表的方式相同,只需要做额外的工作即可按键/值迭代字典,为新字典创建新键并在最后一步创建字典。...
2024-01-10
Python-从CSV文件创建字典?
我正在尝试从csv文件创建字典。csv文件的第一列包含唯一键,第二列包含值。csv文件的每一行代表字典中的唯一键,值对。我尝试使用csv.DictReaderand csv.DictWriter类,但是我只能弄清楚如何为每一行生成一个新的字典。我要一部字典。这是我尝试使用的代码:import csvwith open('coors.csv', mode='r') as infile: r...
2024-01-10
将Python字典转换为JSON数组
目前,我有这本词典,使用印刷pprint:{'AlarmExTempHum': '\x00\x00\x00\x00\x00\x00\x00\x00', 'AlarmIn': 0, 'AlarmOut': '\x00\x00', 'AlarmRain': 0, 'AlarmSoilLeaf': '\x00\x00\x00\x00', 'BarTrend': 60, 'BatteryStatus': 0, 'BatteryVolts': 4.751953125, 'CRC': 55003,'EO...
2024-01-10
Python-筛选字典仅包含某些键?
我有一个dict包含大量条目的条目。我只对其中几个感兴趣。有没有一种简单的方法可以将其他所有元素都修剪掉?回答:构建一个新的字典:dict_you_want = { your_key: old_dict[your_key] for your_key in your_keys }使用字典理解。如果使用缺少它们的版本(例如,Python 2.6和更早版本),请使其成为dict((your_key, old_d...
2024-01-10
将嵌套的Python字典转换为对象?
我正在寻找一种优雅的方式来获取数据,该数据使用具有一些嵌套dict和列表(例如javascript样式对象语法)的dict进行属性访问。例如:>>> d = {'a': 1, 'b': {'c': 2}, 'd': ["hi", {'foo': "bar"}]}应该以这种方式访问:>>> x = dict2obj(d)>>> x.a1>>> x.b.c2>>> x.d[1].foobar我认为,没有递归是不可能的,但是获得字典...
2024-01-10
Python-遍历所有嵌套的字典值?
for k, v in d.iteritems(): if type(v) is dict: for t, c in v.iteritems(): print "{0} : {1}".format(t, c)我试图遍历字典并打印出所有值不是嵌套字典的键值对。如果值是字典,我想进入它并打印出它的键值对…等等。有什么帮助吗?这个怎么样?它仍然只打印一件事。def printDict(d): for k, v in d.iteritems():...
2024-01-10
Python-从字典列表中获取值列表
我有这样的字典列表:[{'value': 'apple', 'blah': 2}, {'value': 'banana', 'blah': 3} , {'value': 'cars', 'blah': 4}]我想要 ['apple', 'banana', 'cars']最好的方法是什么?回答:假设每个字典都有一个value键,你可以编写(假设你的列表名为l)[d['value'] for d in l]如果value可能丢失,可以使用[d['value'] for d in l if 'value' i...
2024-01-10
