是否存在一个变量类型,该变量类型是一个列表,但是除非指定索引,否则它是单个值?
var = [1, 2, 3]
print var
print var[1]
输出
1
2
目的是用于我的自动化脚本。我有两种方法使用该方法:
在第一种情况下,切换将使用get_cell返回值列表重新尝试查找
在第二种情况下,单击只想使用列表中的第一个值
答案 0 :(得分:1)
您可以定义自己的 custom 列表类:
class ListWithDefault(list):
def __init__(self, type):
self.type = type
def __repr__(self):
return repr(self[0])
#this will print the list's first index when print is called to it.
def get(self, index=0)
return self[index]
#this allows u to get a value at an index or without specifying it returns the first value as default
答案 1 :(得分:0)
据我所知,内置的python库中没有这样的东西,但是您始终可以实现所需的东西。您尚未指定所需的所有内容,但请考虑以下代码:
class MyList:
def __init__(self):
self.__list = []
def append(self, value):
self.__list.append(value)
def __getitem__(self, indices):
if not isinstance(indices, tuple):
return self.__list[indices]
return self.__list[indices[0]:indices[1]]
def __str__(self):
return f"MyList [{self.__list[0]}]"
def __mul__(self, a):
assert isinstance(a, int)
for i, val in enumerate(self.__list):
self.__list[i] = val * a
return self
可以这样使用:
myList = MyList()
myList.append(10)
myList.append(9)
print(myList)
print(myList[1])
print(myList[:])
print(myList * 2)
print(myList[:])
输出将是:
MyList [10]
9
[10, 9]
MyList [20]
[20, 18]
答案 2 :(得分:0)
实现所需功能的最简单方法是修改get_cell函数可以接受的参数数量。
def get_cell(sounds, return_all = False):
lst = [1,2,3]
if return_all:
return lst
else:
return lst[0]
first = get_cell("Sounds")
print(first) # 1
# to get just first element use as click(get_cell("Sounds"))
all_vals = get_cell("Sounds", return_all = True)
print(all_vals) # [1, 2, 3]
# to get complete list use as toggle.find(get_cell("Sounds",return_all = True))