【发布时间】:2018-03-28 00:54:47
【问题描述】:
我正在努力使我的代码更简洁。
我想做这样的事情:
gesture_sensor_data = [nod_gyro, nod_acc, swipe_left_gyro, swipe_right_acc, etc.]
我现在有这个:
nod_gyro, nod_acc = fill_gyro_and_acc_data(nod_intervals, merge)
swipe_right_gyro, swipe_right_acc = fill_gyro_and_acc_data(swipe_right_intervals, merge)
swipe_left_gyro, swipe_left_acc = fill_gyro_and_acc_data(swipe_left_intervals, merge)
whats_up_gyro, whats_up_acc = fill_gyro_and_acc_data(whats_up_intervals, merge)
我想通过gesture_sensor_data 运行一个循环。
有没有办法做到这一点?某种结构还是什么?
编辑:我将在此函数中显示我的完整代码以作为上下文。
def generate_gesture_files(i):
nod_intervals, swipe_left_intervals, swipe_right_intervals, whats_up_intervals = generate_gesture_intervals(i)
merge = pandas.read_csv(final_user_study_path + "/P" + str(i) + "/DataCollection/data/merge.csv")
nod_gyro, nod_acc = fill_gyro_and_acc_data(nod_intervals, merge)
swipe_right_gyro, swipe_right_acc = fill_gyro_and_acc_data(swipe_right_intervals, merge)
swipe_left_gyro, swipe_left_acc = fill_gyro_and_acc_data(swipe_left_intervals, merge)
whats_up_gyro, whats_up_acc = fill_gyro_and_acc_data(whats_up_intervals, merge)
return nod_gyro, nod_acc, swipe_right_gyro, swipe_right_acc, swipe_left_gyro, swipe_right_acc, whats_up_gyro, whats_up_acc
【问题讨论】:
-
你可以在
dict中收集所有这些变量。 -
键是什么?
-
这似乎是一种合理的方法;它有什么问题?
-
我在四行中运行相同的代码,我可以在一个简单的 for 循环中完成。
-
你不需要那个列表。你可以遍历 itertools.chan([func1(), func2(), func3()])
标签: python list loops variables