以下Python表达式之间有什么区别:
# First:
x,y = y,x+y
# Second:
x = y
y = x+y
Run Code Online (Sandbox Code Playgroud)
首先给出与第二个不同的结果.
例如,
第一:
>>> x = 1
>>> y = 2
>>> x,y = y,x+y
>>> x
2
>>> y
3
Run Code Online (Sandbox Code Playgroud)
第二:
>>> x = 1
>>> y = 2
>>> x = y
>>> y = x+y
>>> x
2
>>> y
4
Run Code Online (Sandbox Code Playgroud)
y在第一个中是3,在第二个中是4
我目前有一个如下所示的数据框:
Unnamed: 1 Unnamed: 2 Unnamed: 3 Unnamed: 4
0 Sample Number Group Number Sample Name Group Name
1 1.0 1.0 s_1 g_1
2 2.0 1.0 s_2 g_1
3 3.0 1.0 s_3 g_1
4 4.0 2.0 s_4 g_2
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种方法来删除标题行并使第一行成为新标题行,因此新数据框将如下所示:
Sample Number Group Number Sample Name Group Name
0 1.0 1.0 s_1 g_1
1 2.0 1.0 s_2 g_1
2 3.0 1.0 s_3 g_1
3 4.0 2.0 s_4 g_2
Run Code Online (Sandbox Code Playgroud)
我尝试过的东西if 'Unnamed' in df.columns:然后使数据帧没有标题,df.to_csv(newformat,header=False,index=False)但我似乎没有得到任何地方.
我想交换列表中的最小和最大元素。我的代码如下:
A=[5,1,3,4,2]
a=max(A)
b=min(A)
A[A.index(a)],A[A.index(b)]=A[A.index(b)],A[A.index(a)]
print(A) #prints [5,1,3,4,2]
Run Code Online (Sandbox Code Playgroud)
但是,当我写:
A[0],A[1]=A[1],A[0]
print(A) #prints [1,5,3,4,2]
Run Code Online (Sandbox Code Playgroud)
如您所见,在第二种情况下,它显示了正确的输出。为什么不是第一种情况?
以下代码块不起作用。
a = [2,1,3]
i = 1
a[i], a[a[i]-1] = a[a[i]-1], a[i]
Run Code Online (Sandbox Code Playgroud)
而这样做。
a = [2,1,3]
i = 1
j = a[i]-1
a[i], a[j] = a[j], a[i]
Run Code Online (Sandbox Code Playgroud)
有人知道吗?
在使用Fibonacci序列时:
a = 1
b = 3
a, b = b, a + b
print a, b
Run Code Online (Sandbox Code Playgroud)
这恰当地导致a = 3和b = 4
现在,如果我将其重新编码为:
a = 1
b = 3
a = b
b = a + b
print a, b
Run Code Online (Sandbox Code Playgroud)
所得到的变量b是6代替4.
当a, b = b, a + b使用单线程时,"场景背后"会发生什么?