为什么我的list.extend()没有工作?

时间:2015-05-27 02:19:26

标签: python list

当我打印VIDEO_COLUMNS时,下面的内容为DEFAULT_COLUMNS = [ ('$ios_ifa', 'ios_id'), ('Groups', 'groups'), ('Lifetime Number of Sessions', 'lifetime_sessions'), ('Days Since Last Visit', 'days_since'), ('time', 'time'), ('Product ID', 'product_id'), ] VIDEO_COLUMNS = list(DEFAULT_COLUMNS).extend([ ('Time Watched', 'time_watched'), ('Video Length', 'video_length') ]) print VIDEO_COLUMNS 。扩展这个元组列表时我错过了什么?

session_store

2 个答案:

答案 0 :(得分:1)

  

VIDEO_COLUMNS = list(DEFAULT_COLUMNS).extend(...)

extend的返回值为None,您将其分配给VIDEO_COLUMNS

分配你的"克隆" DEFAULT_COLUMNSVIDEO_COLUMNS

确保首先获取对新list对象的引用,然后对其进行扩展。

VIDEO_COLUMNS = list(DEFAULT_COLUMNS)

VIDEO_COLUMNS.extend([
    ('Time Watched', 'time_watched'),
    ('Video Length', 'video_length')
])

print VIDEO_COLUMNS

答案 1 :(得分:1)

你列出一个清单!大!现在你在它上面执行一个什么都不返回的方法。大!让我们看看发生了什么:

Make a list, return the list.
Perform an immediate method on the list.
Extend the list, (Extending does not return anything)
Now that everything is done, return the final result, which is None.

所以,保存并按步骤执行:

VIDEO_COLUMNS = list(DEFAULT_COLUMNS)
VIDEO_COLUMNS.extend([
('Time Watched', 'time_watched'),
('Video Length', 'video_length')])