"To set default values for a value table parameter, use the values property, and provide the parameter values in a list of list of values."
param4 = arcpy.Parameter( displayName='Features', name='in_features', datatype='GPValueTable', parameterType='Required', direction='Input') param4.columns = [['String', 'Features'], ['String', 'Type'], ['String', 'Distance']]
param4.values = [['c:/temp/land use.shp','POLYGON','123']]
param4.values = [['c:/temp/land_use.shp','POLYGON','123'],['c:/temp/roads.shp','POLYLINE','456']]
param4.value = "text1;text2;text3"
param4.value = "text1 text2 text3"
param4.value = "this" + " " + "and" + " " + "that""
I know this post is going on 10 years old, but I came across it and wanted to note a couple things in case other folks land here. @JeffreyOwen1, I do believe param4.columns should be of type "GPString" rather than "String."
Further, to @FilipKrál 's comment, the syntax of the first solution you posted worked for me (i.e., a single list of multiple items, nested in an outer list, as opposed to multiple lists nested in an outer list). Note that it is indeed "values" with an "s" and not the singular form.