当我打印时,我得到:
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 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中以下程序是否保证始终产生相同的输出?
s = 'fgvhlsdagfcisdghfjkfdshfsal'
for c in s:
print(c)
Run Code Online (Sandbox Code Playgroud) 我整个周末都被困在这个问题上,有人可以帮我吗?
我正在尝试解析嵌套的 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?
任何帮助或代码片段都会很棒-谢谢!
如何访问字典的键和值并迭代 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) 我正在尝试最小化以下问题:对于笔记本电脑,手机和平板电脑的生产,存在库存成本(每个项目每月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) 我有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似乎没有解析为元组。正确的方法是什么?
我正在尝试迭代一个如下所示的字典:
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) 我正在尝试将字典中的值添加到新列表中,但没有任何远程幻想,包括 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) 我想遍历这个字典字典。最终,我想将每个字典的值分开......例如,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'
我有一个像这样的格式的字典
d = {
"Fruit_1" : ["mango", "apple"],
"Fruit_2" : ["apple"],
"Fruit_3" : ["mango", "banana", "apple", "kiwi", "orange"]
}
Run Code Online (Sandbox Code Playgroud)
我传递一个值为"芒果",我想得到所有相应的键,只有芒果出现.我无法在有价值的地方获得相应的密钥.
我想调用一个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 ×11
dictionary ×6
python-2.7 ×4
json ×2
python-3.x ×2
for-loop ×1
join ×1
minimize ×1
nested ×1
parsing ×1
pulp ×1