我有一个dict有一大堆条目.我只对他们中的一小部分感兴趣.是否有一种简单的方法可以修剪所有其他的?
我是一名C编码员,用python开发一些东西.我知道该怎么做在C以下(因此在应用于蟒类似C的逻辑),但我不知道做什么的"Python的"事情是这样的.
我有一个字典d,我想操作一个项目的子集,只有那些键(字符串)包含一个特定的子字符串.
即C逻辑将是:
for key in d:
if filter_string in key:
# do something
else
# do nothing, continue
Run Code Online (Sandbox Code Playgroud)
我想象python版本会是这样的
filtered_dict = crazy_python_syntax(d, substring)
for key,value in filtered_dict.iteritems():
# do something
Run Code Online (Sandbox Code Playgroud)
我在这里发现了很多关于过滤字典的帖子,但找不到一个涉及到这个的字典.
我的字典没有嵌套,我正在使用python 2.7
我正在使用urllib.urlencode构建Web POST参数,但是如果存在除了它们之外的值,我只想添加一些值None.
apple = 'green'
orange = 'orange'
params = urllib.urlencode({
'apple': apple,
'orange': orange
})
Run Code Online (Sandbox Code Playgroud)
这工作正常,但是如果我将orange变量设为可选,我怎样才能防止它被添加到参数中?像这样的东西(伪代码):
apple = 'green'
orange = None
params = urllib.urlencode({
'apple': apple,
if orange: 'orange': orange
})
Run Code Online (Sandbox Code Playgroud)
我希望这很清楚,有谁知道如何解决这个问题?
我有一个字符串键和浮点值的字典.
mydict = {}
mydict["joe"] = 20
mydict["bill"] = 20.232
mydict["tom"] = 0.0
Run Code Online (Sandbox Code Playgroud)
我想过滤字典只包含值大于零的对.
在C#中,我会做这样的事情:
dict = dict.Where(r=>r.Value > 0);
Run Code Online (Sandbox Code Playgroud)
Python中的等效代码是什么?
我有一个结构如下的字典:
{5:"djdj", 6:"8899", 7:"998kdj"}
Run Code Online (Sandbox Code Playgroud)
键是int类型的,它没有排序.
现在我想要键> = 6的所有元素.
有没有简单的方法呢?
这两者都是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)
这是荒谬的吗?如果没有,那么正确的语法是什么?
谢谢您的帮助.
文森特
我有一个字典,里面填充了我导入的两个文件的数据,但有些数据是以nan形式出现的.如何使用nan删除数据?
我的代码是:
import matplotlib.pyplot as plt
from pandas.lib import Timestamp
import numpy as np
from datetime import datetime
import pandas as pd
import collections
orangebook = pd.read_csv('C:\Users\WEGWEIS_JAKE\Desktop\Work Programs\Code Files\products2.txt',sep='~', parse_dates=['Approval_Date'])
specificdrugs=pd.read_csv('C:\Users\WEGWEIS_JAKE\Desktop\Work Programs\Code Files\Drugs.txt',sep=',')
"""This is a dictionary that collects data from the .txt file
This dictionary has a key,value pair for every generic name with its corresponding approval date """
drugdict={}
for d in specificdrugs['Generic Name']:
drugdict.dropna()
drugdict[d]=orangebook[orangebook.Ingredient==d.upper()]['Approval_Date'].min()
Run Code Online (Sandbox Code Playgroud)
我应该添加或删除此代码以确保字典中没有值为nan的键值对?
我想过滤字典的价值.
d1 = {'a': 0, 'b': 0, 'c': 8, 'd': 7}
Run Code Online (Sandbox Code Playgroud)
什么是pythonic方式来做到这一点.
d={}
for k,v in d1.items():
if v>0:
d[k]=v
Run Code Online (Sandbox Code Playgroud)
我无法使用过滤器来获得相同的重新连接.
filter(..)
Run Code Online (Sandbox Code Playgroud)
有没有优雅的pythonic方式呢?
我有字典叫做人类.我想循环遍历该字典,如果值小于20打印字典键.
humans = {"Danny": 33, "Jenny": 22, "Jackie": 12, "Ashley": 33}
Run Code Online (Sandbox Code Playgroud) a = [
{
"id" : 15,
"name" : "abc"
},
{
"id" : 16,
"name" : "xyz"
},
{
"id" : 17,
"name" : "pqr"
}
]
b = [15,17]
Run Code Online (Sandbox Code Playgroud)
我上面有两个列表,如果列表b中没有id,我想从列表a中删除该对象.任何帮助,怎么做?
输出清单:
[
{
"id" : 15,
"name" : "abc"
},
{
"id" : 17,
"name" : "pqr"
}
]
Run Code Online (Sandbox Code Playgroud) python ×10
dictionary ×9
list ×2
filter ×1
filtering ×1
lambda ×1
nan ×1
python-2.7 ×1
python-3.x ×1
urllib ×1
variables ×1