相关疑难解决方法(0)

为什么list.append在布尔上下文中求值为false?

是否有理由进行list.append评估?或者只是在成功发挥作用时返回0的C约定?

>>> u = []
>>> not u.append(6)
True
Run Code Online (Sandbox Code Playgroud)

python list

33
推荐指数
4
解决办法
8037
查看次数

为什么列表操作不返回结果列表?

我对导致这种情况的思维过程感兴趣.对我来说,一个相对新手,似乎阻碍了,因为它阻止了列表处理的"链接"(例如mylist.reverse().append('a string')[:someLimit]).我想可能是"那些人的力量"决定列表理解是一个更好的范例(一个有效的观点),所以不想鼓励其他方法 - 但是这似乎有悖常理,以防止一种直观的方法,即使更好存在替代品.

请注意,我不是在抱怨(我敢肯定有一个合理的理由,我在它是什么只是感兴趣!),也不是寻找一个解决方案(意见在这里非常具有启发性) -只是寻找一些情况下,并深入理解语言的设计过程.

python

5
推荐指数
2
解决办法
320
查看次数

扩展vs + =行为

帮助我理解我在以下代码中无法识别的问题.

def extend_a_list(list_var):
    return list_var.extend([6, 2])

def plus_equals_list(list_var):
    list_var += [6]
    return list_var

list_var = [1, 2, 3]
print "Extending"
print extend_a_list(list_var)

list_var = [1, 2, 3]
print "Plus Equals"
print plus_equals_list(list_var)


>>> Extending
>>> None
>>> Plus Equals
>>> [1, 2, 3, 6]
Run Code Online (Sandbox Code Playgroud)

延伸是给予None.这是为什么?

python

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

标签 统计

python ×3

list ×1