相关疑难解决方法(0)

加入python中的列表列表

在python中将列表列表加入单个列表(或迭代器)的简短语法是什么?

例如,我有一个如下列表,我想迭代a,b和c.

x = [["a","b"], ["c"]]
Run Code Online (Sandbox Code Playgroud)

我能想到的最好的是如下.

result = []
[ result.extend(el) for el in x] 

for el in result:
  print el
Run Code Online (Sandbox Code Playgroud)

python

284
推荐指数
10
解决办法
31万
查看次数

使用列表推导仅仅是副作用是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
查看次数

Python:映射调用函数不起作用

映射不调用正在传递的函数.

class a:
    def getDateTimeStat(self,datetimeObj):
        print("Hello")

if __name__ == "__main__":
    obj = a()
    print("prog started")
    data = [1,2,3,4,5]
    b = list(map(obj.getDateTimeStat,data))
Run Code Online (Sandbox Code Playgroud)

在新行上预期的操作:Hello Hello Hello Hello Hello

任何帮助将不胜感激....

python functional-programming map

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

在for循环中哪个更pythonic:zip或enumerate?

考虑到可扩展性和可读性,其中哪一个被认为是更加pythonic?使用enumerate:

group = ['A','B','C']
tag = ['a','b','c']

for idx, x in enumerate(group):
    print(x, tag[idx])
Run Code Online (Sandbox Code Playgroud)

或使用zip:

for x, y in zip(group, tag):
    print(x, y)
Run Code Online (Sandbox Code Playgroud)

我问的原因是我一直在混合两者.我应该遵循一种标准方法,但它应该是什么?

python for-loop iterable

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