First of all, please, fix your error with indexing.
x = 4
it is not the 4th element, it is the 5th. So you code and result
['String1', None, None, 'String2']
are not compatible.
And you should keep in mind that linked list is not a C-type array stored as one row in memory. You should initialize the range and values, to construct and use it. Consider as a solution:
list = ['String1',None,None,None,None]
x = 4
list[x] = 'String2'
#or (where x - the place where to insert, but not the index!):
#list.insert(x, 'String2')
print(list)
Of course you can automate it generating it with lambda or "*".
Other way - to use arrays or dicts, not lists, and in your case it sounds as right idea, but you are asking for help namely with the list.