2024-03-29 06:05:19 发布
网友
我的目标是以无序的方式存储来自用户的许多输入。因此,我决定使用set。到目前为止,我掌握的代码是:
set
a = input() b = input() c = input() d = input() all = a, b, c, d print(set(all))
但是,我不想像上面那样重复几次input()。有没有办法做到这一点
input()
您可以将对input()的调用放在理解中:
set(input() for i in range(4))
您可以使用for循环:
all = set() for _ in range(4): all.add(int(input()) print(all)
不要忘记输入会给您一个字符串,所以您应该将其转换为int或任何类型(如果需要的话)
for循环中的“\u1”表示此变量不重要。但是你可以随便取什么名字
如果您只需要一个set,那么您不需要a, b, c, d
a, b, c, d
all = set() #or all = {*(),} for _ in range(4): all.add(input()) print(all)
或者
all = {input() for _ in range(4)}
这是考虑到你在新的一行的输入。否则,如果输入以逗号分隔,例如:
all = set(input().split(',')) print(all)
或
all = {*input().split(',')} print(all)
如果同时需要a, b, c, d和所有输入,可以执行以下操作:
>>> all = a, b, c, d = {*input().split(',')} # example >>> all = a, b, c, d = {1, 2, 3, 4} >>> all {1, 2, 3, 4} >>> a 1 >>> b 2
正如@Tomerikooall(iterable)所指出的,是一种built-in function避免将变量命名为与python构建或关键字相同的变量。 另一点,如果您已经这样做了,为了获得所有人的默认行为,您可以:
all(iterable)
>>> import builtins >>> all = builtins.all # Or, more conveniently, as pointed out by @Martijn Pieters >>> del all
*
_
don't care
throwaway
anonymous variable
set()
您可以将对input()的调用放在理解中:
您可以使用for循环:
不要忘记输入会给您一个字符串,所以您应该将其转换为int或任何类型(如果需要的话)
for循环中的“\u1”表示此变量不重要。但是你可以随便取什么名字
如果您只需要一个
set
,那么您不需要a, b, c, d
或者
这是考虑到你在新的一行的输入。否则,如果输入以逗号分隔,例如:
或
如果同时需要
a, b, c, d
和所有输入,可以执行以下操作:正如@Tomerikoo
all(iterable)
所指出的,是一种built-in function避免将变量命名为与python构建或关键字相同的变量。 另一点,如果您已经这样做了,为了获得所有人的默认行为,您可以:*
用于^{_
用于don't care
或throwaway
或anonymous variable
, 因为我们不需要循环中的变量。更多关于这个 here李>set()
相关问题 更多 >
编程相关推荐