【发布时间】:2020-09-05 07:58:26
【问题描述】:
这纯粹是出于好奇,我肯定是想多了,但这是我偶尔遇到的事情,我从不喜欢我的解决方案。
给定两个列表:
x = [1, 2, 3, 4]
y = [128, 244, 132, 161]
我需要计算一个新变量n,等于这些列表的长度。我可以使用n = len(x) 或n = len(y),但这是明确设置n 等于一个,而不是另一个。我觉得以下是我想要的:
def common_length(x, y):
assert len(x) == len(y)
return len(list(zip(x, y)))
但这显然是矫枉过正。我不知道为什么这让我烦恼,但我想知道有什么替代品,如果有的话,或者我是否应该使用n=len(x) 继续我的生活。
【问题讨论】:
-
如果您确定 x 和 y 的长度相等,那么您绝对可以使用
n = len(x)或len(y)。做 zip 和资产是矫枉过正 -
你想做什么?
-
因为您确实有工作代码,但想要一个替代解决方案Code Review 可能是这个问题的更好地方。
-
@das-g 谢谢,从未使用过代码审查。我应该只发一个新帖子还是有办法转移这个?
-
如果列表 must 始终具有相同的长度(可能是因为两个列表中相同索引处的条目以某种方式一起使用),您可以使用单个列表来存放条目是列表/元组,在两个列表中的同一索引处具有您想要的值。那么只有一个列表的长度为:-) 例如
xylist = [ [1,128],[2,244],[3,132],[4,261]]并使用’len(xylist)
标签: python