假设我们有一个列表,例如:
g = ["123456789123456789123456",
"1234567894678945678978998879879898798797",
"6546546564656565656565655656565655656"]
Run Code Online (Sandbox Code Playgroud)
我需要每个元素的前十二个字符:
["123456789123",
"123456789467",
"654654656465"]
Run Code Online (Sandbox Code Playgroud)
好的,我可以在for循环中构建第二个列表,如下所示:
g2 = []
for elem in g:
g2.append(elem[:12])
Run Code Online (Sandbox Code Playgroud)
但我很确定有更好的方法,暂时无法解决它们.有任何想法吗?
Thi*_*ter 16
使用列表理解:
g2 = [elem[:12] for elem in g]
Run Code Online (Sandbox Code Playgroud)
如果您希望g就地编辑,请将切片赋值语法与生成器表达式一起使用:
g[:] = (elem[:12] for elem in g)
Run Code Online (Sandbox Code Playgroud)
演示:
>>> g = ['abc', 'defg', 'lolololol']
>>> g[:] = (elem[:2] for elem in g)
>>> g
['ab', 'de', 'lo']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5069 次 |
| 最近记录: |