【发布时间】:2020-11-18 13:22:03
【问题描述】:
有没有办法解包到不同的类型?是这样的:
# data = [4, "lorem", "ipsum", "dolor", "sit", "amet"]
(parts, *words) = data
data 已提供。我从不分配这个值。我作为例子添加。
parts 必须是 int,列表的所有其余部分都分配为字符串列表。
我发现的唯一方法是将变量 parts 重新分配为下一个:
(parts, *words) = [4, "lorem", "ipsum", "dolor", "sit", "amet"]
parts = int(parts)
但我不喜欢连续两次重复赋值变量。由于 python 是一种保持简洁的语言,我正在寻找解决方案。
*编辑: 让我知道连续两次重新分配是否有效。
【问题讨论】:
-
在列表中 -
data,如果第一个元素(数字)是 int。然后变量parts将是int,您不需要将其更改为类型“int”。您能否提供更多有关您期望的信息? -
不一定,源可能正在读取一个文件并且是一个字符串列表,其中第一个字符串是一个数字。
标签: python variable-assignment iterable-unpacking shorthand python-typing