假设我有一个列表(它是列表列表的集合),比如说列表定义为try_list:
try_list = [['sun', 'Hello' 'star', 'cluster', 'douglas'],
['age', 'estimate', 'scale', 'moon', 'hi'],
['cosmos', 'mystery', 'system', 'graph']]
我想在列表的起点和终点向每个单词添加一个特殊字符_
或#
。
例如,try_list应该看起来像这样:
[['_sun_', '_Hello_', '_star_', '_cluster_', '_douglas_'],
['_age_', '_estimate_', '_scale_', '_moon_', '_hi_'],
['_cosmos_', '_mystery_', '_system_', '_graph_']]
我尝试的列表工作正常,如下所示。
try_list = ['sun', 'Hello' 'star', 'cluster', 'douglas', 'age', 'estimate', 'scale', 'moon', 'hi', 'cosmos', 'mystery', 'system', 'graph']
injected_tokens = []
temp = "_"
with open('try_try.txt', 'w', encoding='utf-8') as d2:
for word in try_list:
new_list.append(temp+word+temp)
d2.write(injected_tokens)
上面的代码段对列表而不是list 效果很好。
如何在列表列表中实现相同的功能?
任何想法深表感谢!
谢谢!
答案 0 :(得分:5)
您可以使用列表理解:
[[f'_{x}_' for x in i] for i in try_list]
[['_sun_', '_Hello_', '_star_', '_cluster_', '_douglas_'],
['_age_', '_estimate_', '_scale_', '_moon_', '_hi_'],
['_cosmos_', '_mystery_', '_system_', '_graph_']]
或使用map
:
[list(map(lambda x: f'_{x}_', i)) for i in try_list]