我们知道我们在with open('sqlnet.ora', 'r') as file:
sqlnetora = file.read()
sqlnetora = re.sub(r' +', '', re.sub(r'\n+', '\n', sqlnetora))\
.replace(' \n','\n')
text_list = sqlnetora.splitlines()
is_mvar = False # flag if we are working with multiline parameter
oneliner = [] # list with one-line parameters
mvar = [] # list for multiline parameter
for line in text_list:
po = line.count('(')
pc = line.count(')')
# this is not multiline parameter
if not is_mvar:
if line[-1:] == ')' and po == pc:
oneliner.append(line)
elif line[-1:] != '=' and po == pc:
oneliner.append(line)
# we've found start of multiline parameter
else:
mpo = line.count('(')
mpc = line.count(')')
is_mvar = True
mvar.append(line)
# this is multiline parameter
else:
mpo += po
mpc += pc
# if this is last line for multiline parameter?
if mpo == mpc:
mvar.append(line)
oneliner.append(('').join(mvar))
mvar.clear()
is_mvar = False
# this is not last line of multiline parameter
else:
mvar.append(line)
print(*oneliner, sep='\n')
小部件中有itemCount
,我在数组中有100多个项目,而我只想从中提取10个项目,例如:
ListView
在itemCount: _dashboardViewModel.media.where((element) => element.type=='images').length,
是100的情况下,如何在length
参数中仅取10个项目?
itamCount
答案 0 :(得分:1)
尝试使用sublist
方法。
喜欢这个。
itemCount: _dashboardViewModel.media.where((element) => element.type=='images').toList().sublist(0, 10).length,
答案 1 :(得分:1)
我建议您使用take(),它可以帮助您在这种情况下获得想要的前n个数字,first 10 numbers
toList()
对于此方法不是强制性的,因此从代码中删除它仍然会给出长度。
指针::如果出于某种原因特别需要List
对象类型,则可能要使用toList()
。但是在这种情况下不是。
itemCount: _dashboardViewModel.media.where((element) => element.type=='images').take(10).length