繁体   English   中英

Pythonic将字符串列表附加到数组的方法

[英]Pythonic way to append list of strings to an array

我是Python新手,来自Java背景。 我想知道编写此代码的最Pythonic方式:

entry_list = []
for entry in feed.entry:
    entry_list.append(entry.title.text)

基本上对于Feed中的每个元素,我想将该元素的标题附加到列表中。

我不知道我是否应该使用map()或lambda函数或者...

谢谢

我能想到的大多数pythonic代码:

entry_list = [entry.title.text for entry in feed.entry]

这是一个列表推导,它将从feed.entry.title.text中的元素构造一个新列表。

要追加你需要做的事情:

entry_list.extend([entry.title.text for entry in feed.entry])

作为旁注,在进行扩展操作时,正常快速的生成器表达式比列表理解慢得多。

有一点点诡计由一个genex提供。

entry_list.extend(x.title.text for x in feed.entry)

或者只是一个LC,如果你不需要保持相同的列表。

entry_list = [x.title.text for x in feed.entry]

始终将List Comprehension用于简洁表达式。

entry_list = [entry.title.text for entry in feed.entry]

如果你想对entry_list做的所有事情都要再次迭代它,你可以使用生成器表达式

entry_list = (entry.title.text for entry in feed.entry)

请注意,唯一的区别在于使用括号。 使用生成器格式时,不会填充entry_list并可以保存内存。 你仍然可以做类似的事情

for items in entry_list:
    do something

''.join(entry_list)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM