list-comprehension相关内容

使用 if 语句进行列表理解

我想比较 2 个可迭代对象并打印出现在两个可迭代对象中的项目. >>>a = ('q', 'r')>>>b = ('q')# 迭代a.如果 y 不在 b 中,则打印 y.# 我想看到 ['r'] 打印出来.>>>打印([ y 如果 y 不在 b 中,则 y 在 a])^ 但它给了我一个无效的语法错误,其中 ^ 已被放置.这个lamba函数有什么问题? 解决方案 你弄错了顺序.if ..
发布时间:2021-12-12 13:06:12 Python

循环的 Python 列表理解

我正在阅读 Python wikibook 并对此部分感到困惑:> 列表推导支持多个 for 语句.它会依次评估所有对象中的项目并将循环如果一个物体比其他物体长,则在较短的物体上. >>>item = [x+y for x in 'cat' for y in 'pot']>>>打印项目['cp', 'co', 'ct', 'ap', 'ao', 'at', 'tp', 'to', 'tt'] ..
发布时间:2021-12-11 12:49:15 Python

在 Python 中将列表推导式转换为 For 循环

我了解列表推导式的重要性,但不了解它们的内部工作原理,因此无法用更简单的术语(例如 for 循环)来理解它们.例如,我如何将其更改为 for 循环: li = [row[index] for row in outer_list] 在这个例子中,我有一个列表列表,我的目的是一个矩阵,称为outer_list,它是一个列表列表.index 值是外部迭代所在的列号,从 0 到某个数字 n.上面的列表 ..

如何在列表理解python中构建两个for循环

我有两个列表如下 tags = [u'man', u'you', u'are', u'awesome']条目 = [[u'man', u'thats'],[ u'right',u'awesome']] 我想从 entries 中提取位于 tags 中的条目: result = []对于标签中的标签:用于输入条目:如果在条目中标记:结果.扩展(条目) 如何将这两个循环编写为单行列表推导式? ..
发布时间:2021-12-11 12:17:15 Python

使用列表理解的嵌套 For 循环

如果我有两个字符串,'abc' 和 'def',我可以使用两个 for 循环获得它们的所有组合: 对于 s1 中的 j:对于 s2 中的 k:打印(j,k) 但是,我希望能够使用列表理解来做到这一点.我尝试了很多方法,但从未设法得到它.有人知道怎么做吗? 解决方案 lst = [j + k for j in s1 for k in s2] 或 lst = [(j, k) for j ..
发布时间:2021-12-11 12:12:33 Python

使用列表中的项目更改嵌套字典的字典中的值?

您将如何根据列表的值在嵌套字典的字典中修改/创建键/值,其中列表的最后一项是字典的值,其余项目冷藏到其中的键口述?这将是列表: list_adddress = [ "key1", "key1.2", "key1.2.1", "value" ] 这只会在解析命令行参数时出现问题.很明显,使用 dict_nested["key1"]["key1.2"]["key1.2.1"]["value"] 在 ..
发布时间:2021-12-10 16:36:39 Python

通过列表理解来展平列表列表

我正在尝试使用 Python 中的列表理解来展平列表.我的清单有点像 [[1, 2, 3], [4, 5, 6], 7, 8] 只是为了打印这个列表中的单个项目,我写了这段代码 def flat(listoflist):对于 listoflist 中的项目:如果类型(项目)!= 列表:打印项目别的:对于项目中的数量:打印编号>>>平面(列表 1)12345678 然后我使用相同的逻辑通过 ..
发布时间:2021-12-08 13:05:59 Python

对元组列表中的每个值求和

我有一个与此类似的元组列表: l = [(1, 2), (3, 4), (5, 6), (7, 8), (9, 0)] 我想创建一个简单的单行,它会给我以下结果: r = (25, 20) or r = [25, 20] # 不关心是元组还是列表. 这会像执行以下操作: r = [0, 0]对于 l 中的 t:r[0]+=t[0]r[1]+=t[1] 我相信这是很简单的事情,但我想不出 ..
发布时间:2021-12-08 12:59:04 Python

python中的all()如何处理空列表

我指的是下面的python代码 all(a==2 for a in my_list) 如果 my_list 中的所有元素都是 2,我希望上面的代码返回 True.但是当我将 my_list 设为空并将其作为 运行时 my_list = []all(a==2 for a in my_list) 它也返回True.我对这种行为感到困惑.是否不应该返回 False,因为 my_list 中没有 ..
发布时间:2021-12-08 12:58:38 Python

为什么列表推导式写入循环变量,而生成器不写入?

如果我用列表推导式做一些事情,它会写入一个局部变量: i = 0test = any([i == 2 for i in xrange(10)])打印我 这会打印“9".但是,如果我使用生成器,它不会写入局部变量: i = 0test = any(i == 2 for i in xrange(10))打印我 这会打印“0". 这种差异有什么好的理由吗?这是一个设计决策,还是只是生成器和 ..
发布时间:2021-12-08 12:49:03 Python

列表推导式和函数式函数是否比“for 循环"更快?

就 Python 的性能而言,是一个列表推导式,或者像 map()、filter() 和 reduce() 之类的函数> 比 for 循环更快?为什么,从技术上讲,它们以 C 速度运行,而 for 循环以 Python 虚拟机速度运行?. 假设在我正在开发的游戏中,我需要使用 for 循环绘制复杂而巨大的地图.这个问题肯定是相关的,例如,如果列表理解确实更快,那么这将是一个更好的选择,以避免 ..
发布时间:2021-12-08 10:59:55 Python

Python 在列表中选择最长字符串的最有效方法?

我有一个长度可变的列表,我正在尝试寻找一种方法来测试当前正在评估的列表项是否是列表中包含的最长字符串.我使用的是 Python 2.6.1 例如: mylist = ['abc','abcdef','abcd']对于 mylist 中的每个:如果条件 1:做点什么()elif ____________________: #else 如果每个都是 mylist 中包含的最长字符串:do_so ..
发布时间:2021-12-06 13:39:25 Python

在 Python 中转置矩阵

我正在尝试用 Python 创建一个矩阵转置函数.矩阵是一个二维数组,表示为整数列表的列表.例如下面是一个2X3的矩阵(即矩阵的高为2,宽为3): A=[[1, 2, 3],[4, 5, 6]] 要转置的第i个索引中的第j个项目应该成为第j个索引中的第i个项目.以下是上述示例的转置方式: >>>转置([[1, 2, 3],[4, 5, 6]])[[1, 4],[2, 5],[3, 6]]>> ..
发布时间:2021-12-06 13:35:17 Python