所以,这个问题说,我们必须使用插入排序算法对数组进行排序,并在每次迭代后用空格分隔数字来打印结果数组。 请帮助我了解问题所在。为什么会引发错误?
30
df['tp'] = pd.to_timedelta(df.groupby('id').cumcount() * 30, unit='S')
print (df)
id Section time A B tp
0 abc 1H 00:00:00 0.1 0.6 00:00:00
1 abc 2H 00:00:30 0.2 0.3 00:00:30
2 abc 3H 00:01:00 0.5 0.1 00:01:00
3 abc 4H 00:01:30 0.1 0.1 00:01:30
4 def 1H 00:00:00 0.1 0.3 00:00:00
5 def 2H 00:00:30 0.2 0.1 00:00:30
6 def 3H 00:01:00 0.6 0.5 00:01:00
7 ghj 1H 00:00:00 0.3 0.1 00:00:00
8 ghj 2H 00:00:30 0.1 0.7 00:00:30
9 ghj 3H 00:01:00 0.1 0.2 00:01:00
当我在main函数中打印数组时,输出为:1 4 3 5 6 2 但是,当我尝试在函数insertSort2中打印数组时 运行时发生错误。
input: 1 4 3 5 6 2
TypeError:序列项目1:预期的str实例,找到的int
答案 0 :(得分:1)
arr
是insertionSort
开头的字符串列表。然后,您在第3行:small=int(arr[i])
中将一个元素转换为int。
所以small
现在是整数,然后将其分配到列表arr[j+1]=small
中。
这意味着arr
包含字符串和整数的混合。 join
方法需要所有字符串。