相关疑难解决方法(0)

在Python中查找包含它的列表的项目的索引

对于列表["foo", "bar", "baz"]和列表中的项目"bar",如何在Python中获取其索引(1)?

python indexing list

2887
推荐指数
32
解决办法
352万
查看次数

在Python中创建一个包含列表推导的字典

我喜欢Python列表理解语法.

它也可以用来创建字典吗?例如,通过迭代成对的键和值:

mydict = {(k,v) for (k,v) in blah blah blah}  # doesn't work
Run Code Online (Sandbox Code Playgroud)

python dictionary list-comprehension dictionary-comprehension

1216
推荐指数
12
解决办法
80万
查看次数

列表理解与地图

是否有理由更喜欢使用map()超过列表理解,反之亦然?它们中的任何一个通常比另一个更有效或被认为是更加pythonic?

python list-comprehension map-function

680
推荐指数
8
解决办法
19万
查看次数

如何使用列表中的键和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食谱,目前我正在研究发电机.我发现很难理解我的头脑.

因为我来自Java背景,是否有Java等价物?这本书讲的是"制片人/消费者",但是当我听到我想到线程时.

什么是发电机,为什么要使用它?显然没有引用任何书籍(除非你能直接从书中找到一个体面的,简单的答案).也许有例子,如果你感觉很慷慨!

python generator

194
推荐指数
12
解决办法
12万
查看次数

在嵌套列表上列出理解?

我有这个嵌套列表:

l = [['40', '20', '10', '30'], ['20', '20', '20', '20', '20', '30', '20'], ['30', '20', '30', '50', '10', '30', '20', '20', '20'], ['100', '100'], ['100', '100', '100', '100', '100'], ['100', '100', '100', '100']]
Run Code Online (Sandbox Code Playgroud)

现在,我想要做的是将列表中的每个元素转换为float.我的解决方案是:

newList = []
for x in l:
  for y in x:
    newList.append(float(y))
Run Code Online (Sandbox Code Playgroud)

但这可以使用嵌套列表理解来完成,对吗?

我所做的是:

[float(y) for y in x for x in l]
Run Code Online (Sandbox Code Playgroud)

但结果是一堆100的总和2400.

任何解决方案,将非常感谢解释.谢谢!

python nested list-comprehension list

194
推荐指数
6
解决办法
14万
查看次数

单行嵌套循环

在python中编写了这个函数来转换矩阵:

def transpose(m):
    height = len(m)
    width = len(m[0])
    return [ [ m[i][j] for i in range(0, height) ] for j in range(0, width) ]
Run Code Online (Sandbox Code Playgroud)

在这个过程中,我意识到我并不完全理解嵌套for循环的单行是如何执行的.请回答以下问题,帮助我理解:

  1. for循环执行的顺序是什么?
  2. 如果我有一个三重嵌套for循环,它将执行什么顺序?
  3. 什么是平等的unnested for循环?

鉴于,

[ function(i,j) for i,j in object ]
Run Code Online (Sandbox Code Playgroud)
  1. 为了将这个用于循环结构,必须使用什么类型的对象?
  2. i和j分配给对象中元素的顺序是什么?
  3. 可以通过不同的for循环结构进行模拟吗?
  4. 这个for循环可以嵌套到类似或不同的循环结构吗?它看起来怎么样?

其他信息也很受欢迎.

python loops for-loop nested nested-loops

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

如何在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 for-in循环前面有一个变量

foo = [x for x in bar if x.occupants > 1]
Run Code Online (Sandbox Code Playgroud)

谷歌搜索和搜索后,无法弄清楚这是做什么的.也许我没有找到合适的东西但是在这里.非常感谢任何改写这种速记的输入.

python for-loop for-in-loop

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

对点分隔数字列表进行排序,如软件版本

我有一个包含版本字符串的列表,例如:

versions_list = ["1.1.2", "1.0.0", "1.3.3", "1.0.12", "1.0.2"]
Run Code Online (Sandbox Code Playgroud)

我想对它进行排序,结果将是这样的:

versions_list = ["1.0.0", "1.0.2", "1.0.12", "1.1.2", "1.3.3"]
Run Code Online (Sandbox Code Playgroud)

数字的优先顺序显然应该是从左到右,它应该是降序.所以1.2.3来之前2.2.32.2.2之前2.2.3.

我如何在Python中执行此操作?

python

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