Your first question has been answered well by @k-suthagar, so I'll defer to him on that one. Though here's slightly different approach that performs well, returning a new list:
list1=[1,2,3,4,5]
list2=[4,2,3,9,9]
list3 = list( set( list1 ).intersection( set( list2 ) ) )
If you simply want to check if there are any matches, you can do this:
if set( list1 ).intersection( set( list2 ) ):
print( "These lists contain some identical elements." )
else:
print( "These lists do NOT contain identical elements." )
As to your second question, you can do the following:
list1=[1,2,3,4,5]
list2 = [ int( ''.join(str(x) for x in list1) ) ]
print( list2 )
[12345]
If you wish to join strings, or for the result to be a string, simply drop the int coercion:
list1=[1,2,3,4,5]
list2 = [ ''.join(str(x) for x in list1) ]
print( list2 )
NOTE: It's generally good practice on StackOverflow to ask one question per post, and to show us what you have tried.