相关疑难解决方法(0)

使用列表推导仅仅是副作用是Pythonic吗?

想想我正在调用它的副作用的函数,而不是返回值(比如打印到屏幕,更新GUI,打印到文件等).

def fun_with_side_effects(x):
    ...side effects...
    return y
Run Code Online (Sandbox Code Playgroud)

现在,是Pythonic使用列表推导来调用这个函数:

[fun_with_side_effects(x) for x in y if (...conditions...)]
Run Code Online (Sandbox Code Playgroud)

请注意,我不会将列表保存在任何位置

或者我应该像这样调用这个函数:

for x in y:
    if (...conditions...):
        fun_with_side_effects(x)
Run Code Online (Sandbox Code Playgroud)

哪个更好?为什么?

python list-comprehension

97
推荐指数
4
解决办法
8534
查看次数

len()和.__ len __()之间的区别?

打电话len([1,2,3])[1,2,3].__len__()?之间有什么区别吗?

如果没有明显的差异,在幕后做了哪些不同的事情?

python

84
推荐指数
4
解决办法
6万
查看次数

如何将多个列表附加到嵌套字典?

假设我有三个列表:

list_a = [1,2,3]
list_b = ['a','b','c']
list_c = [4,5,6]
Run Code Online (Sandbox Code Playgroud)

如何创建如下所示的嵌套字典:

dict = {1:{'a':4},2:{'b':5},3:{'c':6}
Run Code Online (Sandbox Code Playgroud)

我正在考虑使用collections模块中的defaultdict命令或创建一个类,但我不知道该怎么做

python dictionary class list

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

如何在Python中创建一个包含6个列表的嵌套字典

我希望扩展此处采用的方法,但对于六个或更多列表的情况:How to Create Nested Dictionary in Python with 3lists

a = ['A', 'B', 'C', 'D']
b = [1, 2, 3, 4]
c = [9, 8, 7, 6]
d = [0, 3, 5, 7]
e = [11, 13, 14, 15]
Run Code Online (Sandbox Code Playgroud)

期望的输出:

{'A':{1 :9, 0:11} , 'B':{2:8, 3:13}, 'C':{3:7, 5:13} , 'D':{4:6, 7:15}}
Run Code Online (Sandbox Code Playgroud)

到目前为止,这是我尝试过的:

out = dict([[a, dict([map(str, i)])] for a, i in zip(a, zip(zip(b, c), zip(d,e) ))])
Run Code Online (Sandbox Code Playgroud)

输出很接近,但并不完全是我想要的。任何提示将非常感谢!

python dictionary

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

标签 统计

python ×4

dictionary ×2

class ×1

list ×1

list-comprehension ×1