相关疑难解决方法(0)

通过理解迭代字典并获得字典

如何通过字典理解迭代字典来处理它.

>>> mime_types={
    '.xbm': 'image/x-xbitmap',
    '.dwg': 'image/vnd.dwg',
    '.fst': 'image/vnd.fst',
    '.tif': 'image/tiff',
    '.gif': 'image/gif',
    '.ras': 'image/x-cmu-raster',
    '.pic': 'image/x-pict',
    '.fh':  'image/x-freehand',
    '.djvu':'image/vnd.djvu',
    '.ppm': 'image/x-portable-pixmap',
    '.fh4': 'image/x-freehand',
    '.cgm': 'image/cgm',
    '.xwd': 'image/x-xwindowdump',
    '.g3':  'image/g3fax',
    '.png': 'image/png',
    '.npx': 'image/vnd.net-fpx',
    '.rlc': 'image/vnd.fujixerox.edmics-rlc',
    '.svgz':'image/svg+xml',
    '.mmr': 'image/vnd.fujixerox.edmics-mmr',
    '.psd': 'image/vnd.adobe.photoshop',
    '.oti': 'application/vnd.oasis.opendocument.image-template',
    '.tiff':'image/tiff',
    '.wbmp':'image/vnd.wap.wbmp'
}

>>> {(key,val) for key, val in mime_types.items() if "image/tiff" == val}
Run Code Online (Sandbox Code Playgroud)

这是返回结果,如下所示:

set([('.tiff', 'image/tiff'), ('.tif', 'image/tiff')])
Run Code Online (Sandbox Code Playgroud)

但我期待着

('.tif', 'image/tiff')
Run Code Online (Sandbox Code Playgroud)

如何修改该结果以获取如下字典:

{'.tif': 'image/tiff'}
Run Code Online (Sandbox Code Playgroud)

python dictionary dictionary-comprehension

11
推荐指数
3
解决办法
2万
查看次数

这个包含花括号和for循环的python表达式是什么?

我刚遇到这行python:

order.messages = {c.Code:[] for c in child_orders}
Run Code Online (Sandbox Code Playgroud)

我不知道它在做什么,除了它循环遍历列表child_orders并将结果放入order.messages.

它做了什么,它叫什么?

python

9
推荐指数
2
解决办法
1839
查看次数

如何过滤dict以仅包含给定列表中的键?

这两者都是Python和stackoverflow的新手.感谢您的耐心和帮助.

我想根据列表的内容过滤一个字典,如下所示:

d={'d1':1, 'd2':2, 'd3':3}

f = ['d1', 'd3']

r = {items of d where the key is in f}
Run Code Online (Sandbox Code Playgroud)

这是荒谬的吗?如果没有,那么正确的语法是什么?

谢谢您的帮助.

文森特

python dictionary list filter

8
推荐指数
2
解决办法
1万
查看次数

将String中的每个字符转换为Dictionary Key

假设我有一个字符串"abcdefghijklmnopqrstuvwxyz",我想用这些值初始化字典键.

alphabet = 'abcdefghijklmnopqrstuvwxyz'

alphabetDict = dict()
for char in alphabet:
    alphabetDict[char] = 0
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法呢?

python string dictionary

8
推荐指数
2
解决办法
9053
查看次数

如何在一行for循环内的字典中添加另一个属性

我有一个字典列表和一个字符串。我想selected在列表内的每个字典中添加一个属性。我想知道这是否可以使用单衬。

这是我的输入:

saved_fields = "apple|cherry|banana".split('|')
fields = [
    {
        'name' : 'cherry'
    }, 
    {
        'name' : 'apple'
    }, 
    {
        'name' : 'orange'
    }
]
Run Code Online (Sandbox Code Playgroud)

这是我的预期输出:

[
    {
        'name' : 'cherry',
        'selected' : True
    }, 
    {
        'name' : 'apple',
        'selected' : True
    }, 
    {
        'name' : 'orange',
        'selected' : False
    }
]
Run Code Online (Sandbox Code Playgroud)

我试过这个:

new_fields = [item [item['selected'] if item['name'] in saved_fields] for item in fields]
Run Code Online (Sandbox Code Playgroud)

python dictionary list

7
推荐指数
2
解决办法
657
查看次数

如何在dict中添加索引

例如,给定:

['A', 'B', 'A', 'B']    
Run Code Online (Sandbox Code Playgroud)

我希望有:

{'A': [0, 2], 'B': [1, 3]}
Run Code Online (Sandbox Code Playgroud)

我尝试了一个类似的循环; 添加找到字符的位置的索引,然后替换它,''以便下次循环通过时,它会传递给下一个字符.

但是,由于其他原因,这个循环不起作用,我不知道如何继续.

python indexing dictionary list-comprehension list

4
推荐指数
2
解决办法
4601
查看次数

Python oneliner 初始化字典

我正在寻找一个简短而紧凑的单行代码来从 Python 中的列表初始化字典。是否有等效于下面的两个结构?

dic = {}
for elt in list:
  dic[elt.hash] = elt
Run Code Online (Sandbox Code Playgroud)

.

dic2 = {}
defaultValue = 0
for elt in list:
  dic2[elt] = defaultValue
Run Code Online (Sandbox Code Playgroud)

我已经看到了Counter第二种情况的使用,但它是一个非常狭窄的情况,我正在寻找通用语法。

python dictionary python-3.x

4
推荐指数
1
解决办法
3841
查看次数

Python有序字典到常规字典

我有类似的东西

[('first', 1), ('second', 2), ('third', 3)]
Run Code Online (Sandbox Code Playgroud)

我想要一个内置函数来制作类似的东西

{'first': 1, 'second': 2, 'third': 3}
Run Code Online (Sandbox Code Playgroud)

是否有人知道内置的python函数提供了而不是有一个循环来处理它?

需要使用python> = 2.6

python

3
推荐指数
1
解决办法
1191
查看次数

使用SQLAlchemy动态获取列名

我正在使用SQLAlchemy查询sqlite数据库,如下所示:

import db

...

results = session.query(table).all()
        for result in results:
            print result
            print "how to print column name?"
Run Code Online (Sandbox Code Playgroud)

这是db类的片段:

class Device(Base):
    __tablename__ = "devices"
    name = Column(String(250), primary_key=True)
    location = Column(String(250), nullable=False)

    def __init__(self, name, location):
        self.name = name
        self.location = location
Run Code Online (Sandbox Code Playgroud)

尝试根据文档抛出的结果对结果使用“ .column_descriptions”时出现“'list'对象没有属性'column_descriptions'”错误。

动态获取列名和值的正确方法是什么?我想要这个,所以我可以构建一个函数来处理所有查询的json转换,而不是到处重复代码。

python sql sqlite sqlalchemy python-2.7

3
推荐指数
1
解决办法
6262
查看次数

在python中创建一个名称中带有变量的列表

我正在尝试使用python中的for循环生成一系列(空)列表,我希望列表的名称包含一个变量.例如y0,y1,y2等.理想情况下看起来像这样:

for a in range (0,16777216):
global y(a)=[]
Run Code Online (Sandbox Code Playgroud)

python for-loop list

2
推荐指数
2
解决办法
3万
查看次数