在Perl我能做到:
my ($x, $y) = split /:/, $str;
Run Code Online (Sandbox Code Playgroud)
无论字符串是否包含模式,它都将起作用.
在Python中,但这不起作用:
a, b = "foo".split(":") # ValueError: not enough values to unpack
Run Code Online (Sandbox Code Playgroud)
在这种情况下防止错误的规范方法是什么?
N如果列表少于元素,Python 中自动将列表扩展到元素的最佳方法是什么N?
也就是说,让我们有我有这个字符串:s = "hello there"。如果我这样做:
x, y, z = s.split()
Run Code Online (Sandbox Code Playgroud)
我会得到一个错误,因为s.split()返回一个包含两个元素的列表,但我将它分配给 3 个变量。我想要的是z被分配None。
我知道我可以通过艰难的方式做到这一点:
l = s.split()
while len(l) < 3:
l.append(None)
x, y, z = l
Run Code Online (Sandbox Code Playgroud)
但必须有比这更优雅的东西。