有没有人知道如何编写一个函数loading_values(csvfilename),该函数接受与数据文件名相对应的字符串,并返回包含子集名称(作为字符串)和浮点数据值列表的元组列表.调用函数时,结果应该是这样的
>>> stat = loading_values(`statistics.csv`)
>>> stat
[('Pressure', [31.52, 20.3, ..., 27.90, 59.58]),
('Temp', [97.81, 57.99, ..., 57.80, 64.64]),
('Range', [79.10, 42.83, ..., 68.84, 26.88])]
Run Code Online (Sandbox Code Playgroud)
现在我的代码为每个没有加入的子标题返回单独的元组(,)
f=open('statistics.csv', 'r')
for c in f:
numbers = c.split(',')
numbers = (numbers[0], (numbers[1::]))
[('Pressure', [31.52, 20.3, ..., 27.90, 59.58])
('Temp', [97.81, 57.99, ..., 57.80, 64.64])
('Range', [79.10, 42.83, ..., 68.84, 26.88])]
Run Code Online (Sandbox Code Playgroud) 我有一个数字列表,我需要排序,以完成不同的计算,我注意到.sort()函数分别在列表中排序2位数字(10-99)和3位数字(100-999)我最终得到min(),max()和中位数的错误值,任何想法为什么会发生这种情况?
排序前:
[' 75.0', ' 82.43', ' 112.11', ' 89.93', ' 103.19', ' 80.6', ' 113.44', ' 105.44', ' 95.54', ' 121.98', ' 114.25', ' 109.84', ' 90.48', ' 105.84', ' 82.89', ' 113.64', ' 102.73', ' 104.57', ' 100.83', ' 75.59', ' 79.86', ' 91.11', ' 94.75', ' 109.89', ' 117.39', ' 74.71', ' 71.04', ' 92.97', ' 88.87', ' 92.95', ' 86.67', ' 101.46', ' 92.4', ' 85.2', ' 107.19', ' 117.81', ' 90.95', ' 82.02', ' 87.31', …Run Code Online (Sandbox Code Playgroud) 我是Java的新手,仍然试图绕过递归.下面的函数在两个排序列表列表x和列表y的第一个交集处返回true.
public static boolean checkIntersection(List<Integer> x, List<Integer> y) {
int i = 0;
int j = 0;
while (i < x.size() && j < y.size()) {
if (x.get(i).equals(y.get(j))) {
return true;
} else if (x.get(i) < y.get(j)) {
i++;
} else {
j++;
}
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
现在我一直在尝试使用递归来实现它,我知道应该有一个基本情况,在这种情况下是一个空列表,然后尝试通过一次排除一个元素并将其反馈给减少列表相同的递归函数,但我无法弄清楚如何检查交集,因为我一遍又一遍地传递列表的其余部分.
public static boolean recursiveChecking(List<Integer> x,List<Integer> y) {
if(x.size() == 0){
return false;
}
else {
return recursiveChecking(x.subList(1, x.size()-1), y);
}
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将受到高度赞赏.谢谢.