Dar*_*dav -2 python list string-concatenation
我有一个Python列表:
data = ['Cost', '$', 4244, '$', 4090, '$', 3967]
Run Code Online (Sandbox Code Playgroud)
我想要做的是合并$前面的元素并获得一个新的列表:
data = ['Cost', '$4244', '$4090', '$3967']
Run Code Online (Sandbox Code Playgroud)
实现这一目标的最佳方法是什么?
你可以使用迭代器:
data_iter = iter(data)
[e + str(next(data_iter)) if e == '$' else e for e in data_iter]
Run Code Online (Sandbox Code Playgroud)
这利用了我们可以获得迭代的下一个元素的事实,即使在迭代迭代时也是如此.每次'$'找到一个字符串时,下一个元素都被拉入并连接成一个字符串.
演示:
>>> data = ['Cost', '$', 4244, '$', 4090, '$', 3967]
>>> data_iter = iter(data)
>>> [e + str(next(data_iter)) if e == '$' else e for e in data_iter]
['Cost', '$4244', '$4090', '$3967']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
63 次 |
| 最近记录: |