我有一个列表,其项目是可变长度的列表。
如果这些可变长度的列表项超过此长度,则需要将其截断为特定长度(x)。
我做了这个小的功能。
def truncateList(batch_, trim_len):
truncated_list = []
for eachAbstract in train_abstracts_encoded:
if len(eachAbstract) > trim_len:
del eachAbstract[trim_len:]
truncated_list.append(eachAbstract)
else:
truncated_list.append(eachAbstract)
return truncated_list
但是,我可以在一行中以更pythonic的方式执行此操作吗?
像这样:
prefData = [ del eachEncodedAbstract[MAX_LEN:] if len(eachEncodedAbstract) > 510 else eachEncodedAbstract for eachEncodedAbstract in test_abstracts_encoded]
但这没有用,我得到了错误。
prefData = [ del eachEncodedAbstract[MAX_LEN:] if len(eachEncodedAbstract) > 510 else eachEncodedAbstract for eachEncodedAbstract in test_abstracts_encoded]
^
SyntaxError: invalid syntax
任何帮助将不胜感激。
问题来源:stackoverflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
您可能需要eachEncodedAbstract [:MAX_LEN]
。
例如:
prefData = [eachEncodedAbstract[:MAX_LEN] if len(eachEncodedAbstract) > 510 else eachEncodedAbstract for eachEncodedAbstract in test_abstracts_encoded]
回答来源:stackoverflow