我正在用Python编写以下代码,我想使用for条件完成以下工作
if (datetime_obj.hour==7):
hour7.append(a)
if (datetime_obj.hour==8):
hour8.append(a)
if (datetime_obj.hour==9):
hour9.append(a)
if (datetime_obj.hour==10):
hour10.append(a)
if (datetime_obj.hour==11):
hour11.append(a)
if (datetime_obj.hour==12):
hour12.append(a)
if (datetime_obj.hour==13):
hour13.append(a)
if (datetime_obj.hour==14):
hour14.append(a)
if (datetime_obj.hour==15):
hour15.append(a)
小时是空数组
通过放弃对每个空列表(例如
hour1
,hour2
)的特定引用,您的代码似乎会大大简化。相反,您应该创建一些保存列表的结构,并允许您以合理的方式访问它们。现有答案使用嵌套列表,这是一个很好的选择。另一种方法是使用dict
:hours
初始化为字典,其中每个键都是一个整数(表示一天中的一小时),每个值都是一个单独的空列表。您可以直接使用datetime_obj.hour
选择这些空列表,然后附加a
您可以在here中查看相关讨论;为了方便和功能,建议避免这些重复的顺序命名变量
制作
hour
一个列表列表,例如hour = [[] for _ in range(24)]
,这样hour[7]
会给你hour7
的任何东西,等等。然后你可以简单地做没有ifs或循环
如果
datetime_obj.hour
所取的值不是从0到某个数字的连续值,则使用列表字典相关问题 更多 >
编程相关推荐