Display posts containing at least 1 from a list of say 10 tags but not containing other tags

Paste this code at the end of your child themes functions.php file.

It will exclude all posts with the comma separated list of tag i.d’s from displaying on the home page loop.

add_filter('request', 'filter_tag_loop');
function filter_tag_loop($params) {
$params['tag__not_in'] = array(49);
return $params;
}

Or you could use WP_Query

$query = new WP_Query( array( 'tag__not_in' => array( 46,5,101,22,122,7,102,15,104,47,105,66,43,123 ) ) );

http://codex.wordpress.org/Class_Reference/WP_Query

Or use pre_get_posts (untested)

add_action( 'pre_get_posts', 'wpsites_include_exclude_tagged_posts' );

function wpsites_include_exclude_tagged_posts( $query ) {

if ( $query->is_main_query()  && $query->is_home() ) {

    $query->set( 'tag__in' => array (46, 5, 101, 22, 122, 7, 102, 15, 104, 47, 105, 66, 43, 123)),
    $query->set( 'tag__not_in' => array (10,121,20,36,23,24,21,76,82,17,6,106,8,75,54,38,57,86,56,95,25,62,16,39,40,69,37,9,42,41,87,73,85));
    }
}

http://codex.wordpress.org/Plugin_API/Action_Reference/pre_get_posts