Python Toolbox:
If your script is in a Python Toolbox, you can use a Value Table (GPValueTable).
def getParameterInfo(self):
param0 = arcpy.Parameter(
displayName='Elevation and Temperature',
name='in_features',
datatype='GPValueTable',
parameterType='Required',
direction='Input')
param0.columns = [['Long', 'Elevation'], ['Long', 'Temperature']]
Regular Toolbox:
If your script is in a regular Toolbox, you can use a Record Set.
Using a record set in a regular toolbox is a little more complicated to set up as you have to create a new (empty) table to use as a schema for the Record Set parameter. What you can do is create a new File GDB alongside your script, create a table with Elevation and Temperature fields in that GDB, then add a Record Set parameter to your script and set the new table as the parameter schema. You may also be able to create this table in memory in the script ToolValidator.initializeParameters method, but I haven't tried that.
You can access the Record Set from within your script like so (assuming it is the first parameter and the schema has "Elevation" and "Temperature" fields, otherwise adjust code below accordingly):
import os, sys
import json
import arcpy
elev_temp = json.loads(arcpy.GetParameter(0).JSON)
for rec in elev_temp['features']:
print rec['attributes']['Elevation'],rec['attributes']['Temperature']