相关疑难解决方法(0)

如何并行迭代两个列表?

我在Python中有两个迭代,我想成对地遍历它们:

foo = (1, 2, 3)
bar = (4, 5, 6)

for (f, b) in some_iterator(foo, bar):
    print "f: ", f, "; b: ", b
Run Code Online (Sandbox Code Playgroud)

它应该导致:

f: 1; b: 4
f: 2; b: 5
f: 3; b: 6
Run Code Online (Sandbox Code Playgroud)

一种方法是迭代索引:

for i in xrange(len(foo)):
    print "f: ", foo[i], "; b: ", b[i]
Run Code Online (Sandbox Code Playgroud)

但这对我来说似乎有点不合时宜.有没有更好的方法呢?

python iterator for-loop list

767
推荐指数
6
解决办法
58万
查看次数

Python字典理解

是否可以在Python中创建字典理解(用于键)?

没有列表推导,你可以使用这样的东西:

l = []
for n in range(1, 11):
    l.append(n)
Run Code Online (Sandbox Code Playgroud)

我们可以将其缩短为列表理解:l = [n for n in range(1, 11)].

但是,假设我想将字典的键设置为相同的值.我可以:

d = {}
for n in range(1, 11):
     d[n] = True # same value for each
Run Code Online (Sandbox Code Playgroud)

我试过这个:

d = {}
d[i for i in range(1, 11)] = True
Run Code Online (Sandbox Code Playgroud)

不过,我得到一个SyntaxErrorfor.

另外(我不需要这部分,但只是想知道),你能否将字典的键设置为一堆不同的值,如下所示:

d = {}
for n in range(1, 11):
    d[n] = n
Run Code Online (Sandbox Code Playgroud)

字典理解是否可以实现?

d = {}
d[i for i in range(1, 11)] = [x for …
Run Code Online (Sandbox Code Playgroud)

python dictionary list-comprehension

367
推荐指数
7
解决办法
33万
查看次数

如何使用列表中的键和Python中的空值初始化dict?

我想从中得到:

keys = [1,2,3]
Run Code Online (Sandbox Code Playgroud)

对此:

{1: None, 2: None, 3: None}
Run Code Online (Sandbox Code Playgroud)

这是一种pythonic方式吗?

这是一种丑陋的方式:

>>> keys = [1,2,3]
>>> dict([(1,2)])
{1: 2}
>>> dict(zip(keys, [None]*len(keys)))
{1: None, 2: None, 3: None}
Run Code Online (Sandbox Code Playgroud)

python dictionary

222
推荐指数
6
解决办法
25万
查看次数

Python:使用字典计算列表中的项目

我是Python的新手,我有一个简单的问题,比如我有一个项目列表:

['apple','red','apple','red','red','pear']
Run Code Online (Sandbox Code Playgroud)

什么是将列表项添加到字典中的最简单方法,并计算项目在列表中出现的次数.

所以对于上面的列表,我希望输出为:

{'apple': 2, 'red': 3, 'pear': 1}
Run Code Online (Sandbox Code Playgroud)

python

159
推荐指数
8
解决办法
20万
查看次数

如何在Python中初始化空列表字典?

我尝试以编程方式创建列表字典是不允许我单独地解决字典键.每当我创建列表字典并尝试附加到一个键时,所有这些都会更新.这是一个非常简单的测试用例:

data = {}
data = data.fromkeys(range(2),[])
data[1].append('hello')
print data
Run Code Online (Sandbox Code Playgroud)

实际结果: {0: ['hello'], 1: ['hello']}

预期结果: {0: [], 1: ['hello']}

这是有效的

data = {0:[],1:[]}
data[1].append('hello')
print data
Run Code Online (Sandbox Code Playgroud)

实际和预期结果: {0: [], 1: ['hello']}

为什么fromkeys方法不能按预期工作?

python dictionary list

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

Python 3按其值对dict进行排序

我发现的唯一方法是为python2工作或仅返回元组列表.

是否可以对字典进行排序,例如{"aa": 3, "bb": 4, "cc": 2, "dd": 1},通过其值?

我想要实现的排序字典顺序是从最大到最小.我希望结果看起来像这样:

bb 4
aa 3
cc 2
dd 1
Run Code Online (Sandbox Code Playgroud)

排序后我想将它存储到文本文件中.

python sorting dictionary python-3.x

64
推荐指数
5
解决办法
9万
查看次数

"列表理解"是什么意思?它是如何工作的,我该如何使用它?

我有以下代码:

[x ** 2 for x in range(10)]
Run Code Online (Sandbox Code Playgroud)

当我在Python Shell中运行它时,它返回:

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
Run Code Online (Sandbox Code Playgroud)

我搜索过,似乎这被称为列表理解,但它是如何工作的?

python list-comprehension list

46
推荐指数
4
解决办法
4792
查看次数

选择大于某个值的Python字典元素

我需要选择某个值或更大值的字典元素.我知道如何使用列表,列表中的项目返回列表大于某个值.

但我不知道如何将其翻译成字典的功能.我设法得到对应(我认为)大于或等于数字的值的标签,但使用以下仅给出标签:

[i for i in dict if dict.values() >= x]
Run Code Online (Sandbox Code Playgroud)

python dictionary

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

Python 3中的字典理解

我发现关于字典推导以下堆栈溢出后Python2.7Python 3+:创建与Python列表理解的字典,说明我能够把字典解析如下:

d = {key: value for (key, value) in sequence}
Run Code Online (Sandbox Code Playgroud)

我在Python 3中尝试过它.但是,它引发了一个异常.

d = {'a':1, 'b':2, 'c':3, 'd':4}
{key : value for (key, value) in d}
{key : value for key, value in d}
Run Code Online (Sandbox Code Playgroud)

这两个版本都提出了一个ValueError说法ValueError: need more than 1 value to unpack.

在Python3中进行字典理解的最简单/最直接的方法是什么?

python python-3.x

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

字典生成器中有多个'for'循环

此Python文档中,以下内容用作生成器表达式的示例:

dict((fn(i+1), code)
    for i, code in enumerate('FGHJKMNQUVXZ')
    for fn in (int, str))

>> {1: 'F', '1': 'F', 2: 'G', '2': 'G', 3: 'H', '3': 'H', 4: 'J',...}
Run Code Online (Sandbox Code Playgroud)

我不明白第二个for循环如何for fn in (int, str)将int值转换为字符串并向字典添加一个额外的条目.

我找到了这个Stack Overflow问题,但是我仍然无法知道第二个for循环在这种情况下是如何工作的.

python generator python-3.x

13
推荐指数
2
解决办法
1215
查看次数