['[1,2]','[3,4]','[5,6]']
如何可以快速合并成一个列表
[1,2,3,4,5,6]
其实形如s = '[1,2]'
的字符串是一个合法的JSON,所以可以用JSON来解析
import json
raw = ['[1,2]','[3,4]','[5,6]']
arr = []
for s in raw:
arr.extend(json.loads(s))
js的写法:
let arr = [[1,2],[3,4],[5,6]]
arr.reduce((a,b)=>{
return a.concat(b);
});
看到python也有类似的reduce
reduce(fn, arr); fn换成对应的方法名就可以了
字符串的话,一楼的答案很犀利
lst = ['[1,2]', '[3,4]', '[5,6]']
print [x for _ in lst for x in eval(_)]
print reduce(lambda x, y: x + y, map(lambda x: eval(x), lst))
如果lst里的字符串是由用户输入的,eval要慎用有安全隐患
4 回答4.4k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
1 回答4.4k 阅读✓ 已解决
1 回答3.9k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
接 @忆先 的回答,写了个列表推导。