How to select extruded vertices in bmesh?
Bmesh ops have return values.



Unlike bpy.ops which only return a status of operation, bmesh.ops in many cases return a result. bmesh.ops.extrude_edge_only(...) is one.

It returns a dictionary with a list of elements. {'geom': [&lt;BMVert(0x7fc7a6b0ef50), index=528&gt;,....]}

There is an example on bmesh ops api that uses extrude extensively.

import bpy
import bmesh
from mathutils import Vector

ob = bpy.context.object
me = ob.data

bm = bmesh.from_edit_mesh(me)
selected_verts = [v for v in bm.verts if v.select]
# deselect all verts
for v in bm.verts:  
    v.select = False

edges_to_extrude = [e for e in bm.edges if not e.smooth]

ret = bmesh.ops.extrude_edge_only(bm, edges=edges_to_extrude)
geom_extrude = ret["geom"]
print(ret) # the geometry returned from op.
del ret

verts_extrude = [ele for ele in geom_extrude
                   if isinstance(ele, bmesh.types.BMVert)]
# select them
for v in verts_extrude:
    v.select = True
bmesh.update_edit_mesh(me)