如何通过字典理解迭代字典来处理它.
>>> 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:
order.messages = {c.Code:[] for c in child_orders}
Run Code Online (Sandbox Code Playgroud)
我不知道它在做什么,除了它循环遍历列表child_orders
并将结果放入order.messages
.
它做了什么,它叫什么?
这两者都是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)
这是荒谬的吗?如果没有,那么正确的语法是什么?
谢谢您的帮助.
文森特
假设我有一个字符串"abcdefghijklmnopqrstuvwxyz"
,我想用这些值初始化字典键.
alphabet = 'abcdefghijklmnopqrstuvwxyz'
alphabetDict = dict()
for char in alphabet:
alphabetDict[char] = 0
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法呢?
我有一个字典列表和一个字符串。我想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) 例如,给定:
['A', 'B', 'A', 'B']
Run Code Online (Sandbox Code Playgroud)
我希望有:
{'A': [0, 2], 'B': [1, 3]}
Run Code Online (Sandbox Code Playgroud)
我尝试了一个类似的循环; 添加找到字符的位置的索引,然后替换它,''
以便下次循环通过时,它会传递给下一个字符.
但是,由于其他原因,这个循环不起作用,我不知道如何继续.
我正在寻找一个简短而紧凑的单行代码来从 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
第二种情况的使用,但它是一个非常狭窄的情况,我正在寻找通用语法。
我有类似的东西
[('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
我正在使用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中的for循环生成一系列(空)列表,我希望列表的名称包含一个变量.例如y0,y1,y2等.理想情况下看起来像这样:
for a in range (0,16777216):
global y(a)=[]
Run Code Online (Sandbox Code Playgroud) python ×10
dictionary ×6
list ×4
filter ×1
for-loop ×1
indexing ×1
python-2.7 ×1
python-3.x ×1
sql ×1
sqlalchemy ×1
sqlite ×1
string ×1