我正在尝试这样做:
for i in range(len(daysDial)):
if dayDial[i] in daysPresence:
for j in range(len(daysPresence)):
if daysDial[i]== daysPresence[j]:
rowsPresence.append(dataPresencePy[j][1])
else:
rowsPresence.append("no presence")
用另一种方式:
rowsPresence = [dataPresencePy[j][1] for i in range(len(daysDial))
if daysDial[i] in daysPresence else "no presence"
for j in range(len(daysPresence))
if daysDial[i] == daysPresence[j]]
但它无法正常工作。这可能吗。
答案 0 :(得分:1)
你的循环顺序错误;我想你想要的是:
[[dataPresencePy[j][1] for j in range(len(daysPresence))
if daysDial[i] == daysPresence[j]]
if daysDial[i] in daysPresence else "no presence"
for i in range(len(daysDial))]
但是,正如评论中指出的那样,这比可展开的循环版本更不易读,并且可能没有更高的性能。
另外,有一个列表,其元素是字符串"no presence"
或列表 - 为什么不是None
或空列表似乎很奇怪?