遍历项目列表并保存它

2024-09-27 21:30:34 发布

您现在位置:Python中文网/ 问答频道 /正文

有什么更好的方法来遍历此项列表并保存它

if cursor:
    for row in cursor:
        date = str(row[0])
        servicelevel = str(row[1])
        power = str(row[2])
        rebootime = str(row[3])
        result = str(row[4])
        result_two = str(row[5])
        moredata = str(row[6])
        data_Rows.append({'date': date, 'servicelevel': servicelevel, 'power': power, 'rebootime': rebootime,
                           'result': result, 'result_two': result_two, 'moredata': moredata})

Tags: 方法列表fordateifserviceresultlevel
3条回答

可以使用字段名字典来创建行索引。例如:

cursor = [(1, 2, 3), (4, 5, 6)]
fields = { 'date' : 0 , 'servicelevel' : 1, 'power' : 2 }

data_Rows = []
for row in cursor:
    data_Rows.append({ f : str(row[v]) for f, v in fields.items() })

print(data_Rows)

输出:

[{'power': '3', 'servicelevel': '2', 'date': '1'}, {'power': '6', 'servicelevel': '5', 'date': '4'}]

您可以zip每行的列标题,使用dict构造函数为每行创建一个dict:

headers = 'date', 'servicelevel', 'power', 'rebootime', 'result', 'result_two', 'moredata'
data_Rows.extend(dict(zip(headers, map(str, row))) for row in cursor)

也许这是:

if cursor:
    for row in cursor:
        data_Rows.append({'date': str(row[0]), 'servicelevel': str(row[1]), 'power': str(row[2]), 'rebootime': str(row[3]),
                           'result': str(row[4]), 'result_two': str(row[5]), 'moredata': str(row[6])})

相关问题 更多 >

    热门问题