相关疑难解决方法(0)

将字典转换为Python中可读的内容

当我打印时,我得到:

Counter({'pit': 6, 'mike': 4, 'andy': 3, 'jose': 2})
<class 'collections.Counter'>
Run Code Online (Sandbox Code Playgroud)

如何将结果转换为:

pit = 6
mike = 4
andy = 3
jose = 2
Run Code Online (Sandbox Code Playgroud)

或者显示以下内容的文本文件:

 pit    6
 mike   4
 andy   3
 jose   2
Run Code Online (Sandbox Code Playgroud)

python python-2.7

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

加入字典项,键

请参阅下面的连接方法代码片段(使用Python 2.7.2):

iDict={'1_key':'abcd','2_key':'ABCD','3_key':'bcde','4_key':'BCDE'}
'--'.join(iDict)
Run Code Online (Sandbox Code Playgroud)

结果显示为

'2_key--1_key--4_key--3_key'
Run Code Online (Sandbox Code Playgroud)

请评论为什么只有密钥加入?序列也不按顺序排列.

注意 - 以下是各个方法.

  • '--'.join(iDict.values())==> 'ABCD--abcd--BCDE--bcde' ==>序列不按顺序排列
  • '--'.join(iDict.keys()) ==> '2_key--1_key--4_key--3_key'==>序列不在orde中

python join

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

循环遍历字符串时是否保证执行顺序?

以下程序是否保证始终产生相同的输出?

s = 'fgvhlsdagfcisdghfjkfdshfsal'
for c in s:
    print(c)
Run Code Online (Sandbox Code Playgroud)

python for-loop python-3.x order-of-execution

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

解析嵌套的 JSON 响应 Python

我整个周末都被困在这个问题上,有人可以帮我吗?

我正在尝试解析嵌套的 JSON 响应。我似乎无法返回我需要的值,每当我尝试解析它时,我都会收到关于“字符串索引必须是整数”的错误......

我想要实现的是:对于 JSON 中的每个对象,提取 available_projects,然后从每个对象中提取 available_models。例如,第一个应该是:model001,model_20171004-090552。

示例 JSON 响应:

{
    "available_projects": {
        "model001": {
            "available_models": [
                "model_20171004-090552"
            ],
            "status": "ready"
        },
        "model002": {
            "available_models": [
                "model_20171013-143108"
            ],
            "status": "ready"
        },
        "model002b": {
            "available_models": [
                "model_20171013-151458"
            ],
            "status": "ready"
        }
}
Run Code Online (Sandbox Code Playgroud)

我的代码:

myText = requests.get('http://localhost:5000/status')
jsonresponse = json.loads(myText.text)


for element in jsonresponse[u'available_projects']:
    for AM in element[u'available_models']: ## this gives me the errors..
        print AM
Run Code Online (Sandbox Code Playgroud)

如果我只是执行“for element in jsonresponse[u'available_projects']: print element”语句,它会正确打印available_projects 列表。我如何使用该输出深入研究 JSON?

任何帮助或代码片段都会很棒-谢谢!

python parsing json nested

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

迭代字典中的键和值

如何访问字典的键和值并迭代 for 循环?

dictionary = {1: "one", 2: "two", 3: "three"}
Run Code Online (Sandbox Code Playgroud)

我的输出将是这样的:

1  one
2  two
3  three
Run Code Online (Sandbox Code Playgroud)

python dictionary

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

PuLP以最小化显示LpVariable的上限值

我正在尝试最小化以下问题:对于笔记本电脑,手机和平板电脑的生产,存在库存成本(每个项目每月1美元)和加班时间(每小时10美元)。有一个需要满足的需求方案,它是对特定月份中最小数量的小工具的约束。除此之外,每月最多有20000小时的生产时间,再加上3000个加班时间。

问题是python / pulp给我的结果(除一个例外)是LpVariables中插入的所有上限值:不是最小化的成本!

from pulp import *


# Define the LP problem: minimize costs
prob = LpProblem("Minimize costs of production and inventory", LpMinimize)


# Demand schemes
demand_laptops = [75, 125, 1000, 1500, 1000, 500, 1250, 1500, 1000, 500, 500, 400, 300]           # Demand laptops
demand_phones = [120, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000]    # Demand phones
demand_tablets = [50, 2000, 3000, 2000, 3000, 4000, 5000, 2000, 3000, 4000, 5000, 4000, 5000]     # Demand …
Run Code Online (Sandbox Code Playgroud)

linear-programming minimize python-3.x pulp

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

以元组为键访问字典的键值

我有dict这样的字典,以元组为键:

 dict = { (1, 1): 10, (2,1): 12} 
Run Code Online (Sandbox Code Playgroud)

并尝试像这样访问它:

new_dict = {}
for key, value in dict: 
    new_dict["A"] = key[0]
    new_dict["B"] = key[1]
    new_dict["C"] = value
Run Code Online (Sandbox Code Playgroud)

但它失败了,因为key似乎没有解析为元组。正确的方法是什么?

python dictionary

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

在 Python 中迭代字典并使用每个值

我正在尝试迭代一个如下所示的字典:

account_data = {"a": "44196397",
                "b": "2545086098",
                "c": "210623431",
                "d": "1374059147440820231",
                "e": "972970759416111104",
                "f": "1060627757812641792",
                "g": "1368361032796700674",
                "h": "910899153772916736",
                "i": "887748030304329728",
                "j": "1381341090",
                "k": "2735504155",
                "l": "150324112", }
Run Code Online (Sandbox Code Playgroud)

目标是使用每个 ID 来抓取一些数据,因此我得到了一个方法,该方法采用相应的 userID 并从中获取数据。起初,我对字典中的每个 ID 都有一个方法,但现在我想更改它,以便我得到一个迭代字典的方法,一次获取一个 ID 并发出 API 请求,如果完成,则发出下一个请求等等。

问题是我无法迭代字典,我总是只访问这里的第一个字典。

我对 Python 比较陌生,因为我主要使用 Java。也许字典对于这个任务来说是错误的数据结构?

任何帮助表示赞赏。

编辑:

这是我迭代字典的旧代码:

def iterate_over_dict():
    for key, value in account_data.items():
        return value
Run Code Online (Sandbox Code Playgroud)

然后我继续在此函数中使用 id:

def get_latest_data():

    chosen_id = iterate_over_dict()
    print('id: ', chosen_id)
    # get my tweets
    tweets = get_tweets_from_user_id(chosen_id)
    # get tweet_id of latest tweet
    tweet_id …
Run Code Online (Sandbox Code Playgroud)

python dictionary

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

没有 value() 的 Python 字典中的值

我正在尝试将字典中的值添加到新列表中,但没有任何远程幻想,包括 value 方法。我能够在 for 循环中使用 newList.append(item) 将键添加到新列表中。但我正在尝试将这些值添加到单独的列表中。到目前为止,这是我与代码一起解决的问题:

如果您还记得的话,.items() 字典方法会生成一个元组序列。牢记这一点,我们为您提供了一本名为 pokemon 的字典。对于每个键值对,将键附加到列表 p_names,并将值附加到列表 p_number。不要使用 .keys() 或 .values() 方法。

pokemon = {'Rattata': 19, 'Machop': 66, 'Seel': 86, 'Volbeat': 86, 'Solrock': 126}

p_names = []
p_number = []

for item in pokemon:
    p_names.append(item)
Run Code Online (Sandbox Code Playgroud)

python dictionary

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

如何遍历python中的字典字典

我想遍历这个字典字典。最终,我想将每个字典的值分开......例如,0.5/0.4、0.3/0.2 和 0.1/0.1 以找到最大值,但我还没有到达那里。任何对迭代的帮助将不胜感激。

#!/usr/bin/env python2

dict = {('a', 0.5): ('b', 0.4), ('c', 0.3): ("d", 0.2), ('e', 0.1): ('f', 0.1)}

for keys, values in dict:
    print "key: %s" % keys
    print "values: %f" % values
    for keys1, values1 in dict[keys]:
        print "key1: %s" % keys1
        print "values1: %f" % values1
Run Code Online (Sandbox Code Playgroud)

但是我收到一个错误:

键:a 值:0.500000 回溯(最近一次调用最后一次):
文件“test.py”,第 8 行,输入 key1,dict[keys] 中的 values1:KeyError: 'a'

python dictionary python-2.7

0
推荐指数
1
解决办法
6712
查看次数

如何从值中获取字典中的所有键?

我有一个像这样的格式的字典

d = {
    "Fruit_1" : ["mango", "apple"],
    "Fruit_2" : ["apple"],
    "Fruit_3" : ["mango", "banana", "apple", "kiwi", "orange"]
}
Run Code Online (Sandbox Code Playgroud)

我传递一个值为"芒果",我想得到所有相应的键,只有芒果出现.我无法在有价值的地方获得相应的密钥.

python json dictionary python-2.7

0
推荐指数
1
解决办法
1321
查看次数

在python for循环中使用多于1个iterable

我想调用一个python for循环,有两个这样的迭代:

TEMPLATE_FILE = { 'a': 'power', 'b': 'voltage', 'c': 'current' }
for (script in TEMPLATE_FILE.values()) and (files in TEMPLATE_FILE.keys()):
    print 'script: ',script
    print 'files: ',files 
    print "\n"
Run Code Online (Sandbox Code Playgroud)

但这是语法错误,我该怎么办呢?

python python-2.7

-6
推荐指数
1
解决办法
621
查看次数