相关疑难解决方法(0)

Python中的多个赋值和求值顺序

以下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

python assignment-operator

47
推荐指数
4
解决办法
4万
查看次数

Python Pandas用顶行替换标题

我目前有一个如下所示的数据框:

           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)但我似乎没有得到任何地方.

python row header pandas

35
推荐指数
7
解决办法
6万
查看次数

为什么我的列表元素没有被交换?

我想交换列表中的最小和最大元素。我的代码如下:

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)

如您所见,在第二种情况下,它显示了正确的输出。为什么不是第一种情况?

python

12
推荐指数
1
解决办法
265
查看次数

Python就地交换

以下代码块不起作用。

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)

有人知道吗?

python

2
推荐指数
1
解决办法
36
查看次数

为什么一个班轮的结果是不同的

在使用Fibonacci序列时:

a = 1
b = 3
a, b = b, a + b
print a, b
Run Code Online (Sandbox Code Playgroud)

这恰当地导致a = 3b = 4

现在,如果我将其重新编码为:

a = 1
b = 3
a = b
b = a + b
print a, b
Run Code Online (Sandbox Code Playgroud)

所得到的变量b6代替4.

a, b = b, a + b使用单线程时,"场景背后"会发生什么?

python

0
推荐指数
1
解决办法
76
查看次数

标签 统计

python ×5

assignment-operator ×1

header ×1

pandas ×1

row ×1