为什么我的列表.扩展()工作?

2024-03-28 18:55:59 发布

您现在位置:Python中文网/ 问答频道 /正文

当我打印VIDEO_COLUMNS时,下面给出了None。扩展这个元组列表时我遗漏了什么?你知道吗

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

Tags: columnsnoneiddefaultnumber列表timevideo
2条回答

你列个单子!太好了!现在对它执行一个不返回任何内容的方法。太好了!让我们看看发生了什么:

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')])

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

extend的返回值是None,您将其赋值给VIDEO_COLUMNS。你知道吗

你不是把你的DEFAULT_COLUMNS的“克隆”分配给VIDEO_COLUMNS。你知道吗

确保首先获取对新list对象的引用,然后扩展它。你知道吗

VIDEO_COLUMNS = list(DEFAULT_COLUMNS)

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

print VIDEO_COLUMNS

相关问题 更多 >