小编mul*_*rse的帖子

以Python形式将多个值插入列表

我想转这个清单:

l=["Three","Four","Five","Six"]
Run Code Online (Sandbox Code Playgroud)

进入这一个:

['Three', 3, 'Four', 4, 'Five', 5, 'Six', 6]
Run Code Online (Sandbox Code Playgroud)

我用这个代码(效果很好)来做到这一点:

for i,j in zip(range(1,len(l)*2,2),range(3,7)*2):
    l.insert(i,j)
Run Code Online (Sandbox Code Playgroud)

但我想Python不会为此感到骄傲.这有更短的路吗?

python list insert idiomatic

4
推荐指数
1
解决办法
4871
查看次数

在Python类中声明变量哪个更好?

当我编写一个类时,我在__init__方法中声明了一些变量,在其他函数中声明了一些变量.所以,我通常最终得到这样的东西:

class Foo:
    def __init__(self,a, b):
        self.a=a
        self.b=b
    def foo1(self,c, d)
        sum=self.a+self.b+c+d
        foo2(sum)
    def foo2(self,sum)
        print ("The sum is ", sum)
Run Code Online (Sandbox Code Playgroud)

我发现这种方式有点混乱,因为很难跟踪所有变量.相反,在__init__方法中声明变量时管理变量变得更加容易.因此,我们不会使用以前的表单,而是:

class Foo:
    def __init__(self,a, b, c, d, sum):
        self.a=a
        self.b=b
        self.c=c
        self.d=d
        self.sum=sum
    def foo1(self)
        self.sum=self.a+self.b+self.c+self.d
        foo2(self.sum)
    def foo2(self)
        print ("The sum is ", self.sum)
Run Code Online (Sandbox Code Playgroud)

你会选择哪一个?为什么?你认为在方法中声明类的所有函数的所有变量__init__是更好的做法吗?

python variables class function self

4
推荐指数
1
解决办法
132
查看次数

通过跳过 Python / Pandas 中的某些值来计算数据帧平均值

我需要计算数据框第一列的平均值,我可以使用该mean()方法来做到这一点。问题:有时,数据中有 -9999 个值表示缺失的观测值。我知道在计算 Pandas 中的平均值时,NaN 值本质上会被跳过,但这当然不是 -9999 值的情况。

这是我试过的代码。它计算列的平均值,但通过将 -9999 值纳入计算:

df=pandas.DataFrame([{2,4,6},{1,-9999,3}])
df[0].mean(skipna=-9999)
Run Code Online (Sandbox Code Playgroud)

但它产生的平均值为 -4998.5,这显然是将 -9999 纳入计算产生的。

python nan mean pandas

4
推荐指数
1
解决办法
6835
查看次数

如何一次读取和附加到文本文件?

我想检查一个字符串是否在文本文件中,然后附加该字符串,如果它不存在.

我知道我可以通过创建两个单独的with方法来实现这一点,一个用于读取,另一个用于追加,但是是否可以在同一个with方法中读取和追加?

我想出的最接近的是:

with open("file.txt","r+") as file:
    content=file.read()
    print("aaa" in content)
    file.seek(len(content))
    file.write("\nccccc")
Run Code Online (Sandbox Code Playgroud)

我的file.txt:

aaaaa
bbbbb
Run Code Online (Sandbox Code Playgroud)

当我第一次运行代码时,我得到了这个:

aaaaa
bbbbb
ccccc
Run Code Online (Sandbox Code Playgroud)

但是,如果我再次运行它,这会出现:

aaaaa
bbbbb
ccc
ccccc
Run Code Online (Sandbox Code Playgroud)

我希望第三行是ccccc.

任何人都可以解释为什么在第二次运行中截断最后两个字符?另外,如何读取文本并将其附加到文件中?

python file file-read file-writing

3
推荐指数
1
解决办法
4990
查看次数

如何用Python抓取实时流数据?

我试图刮掉这个网页的航班数量https://www.flightradar24.com/56.16,-49.51

该数字在下图中突出显示: 在此输入图像描述

号码每8秒更新一次.

这是我尝试使用BeautifulSoup:

import requests
from bs4 import BeautifulSoup
import time

r=requests.get("https://www.flightradar24.com/56.16,-49.51")
c=r.content
soup=BeautifulSoup(c,"html.parser")
value=soup.find_all("span",{"class":"choiceValue"})
print(value)
Run Code Online (Sandbox Code Playgroud)

但那总是返回0:

[<span class="choiceValue" id="menuPlanesValue">0</span>]
Run Code Online (Sandbox Code Playgroud)

查看源也显示0,所以我理解为什么BeautifulSoup也返回0.

任何人都知道获得当前值的任何其他方法?

python beautifulsoup web-scraping

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

在 Python 中为数组分配范围

我知道为数组分配一些值如下:

arrayX = [20080711, 20080712, 20080713, 20080714]
Run Code Online (Sandbox Code Playgroud)

但是我不知道如何将这些值作为范围快速分配给数组。

python arrays range

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

Python余弦函数精度

从数学上我们知道90度角的余弦是0,但Python说它比这更多.

import math
math.cos(math.radians(90))
6.123233995736766e-17
Run Code Online (Sandbox Code Playgroud)

Python和数字"0"之间有什么关系?

python trigonometry decimal

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

为什么有些 Python 标准库是用 .so 编写的,而其他大多数是用 .py 编写的?

大多数标准库是用 Python .py 文件编写的,但有些是在 Unix 上的 .so 文件和 Windows 上的 .pyd 文件中。例如 os 写在 os.py 中,而 pyexpat 写在 pyexpat.cpython-36m-darwin.so 中。这些 .so 库有什么特别之处?

python standard-library .so

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

什么是Python中的关键字?

我们可以得到一个Python关键字列表,如下所示:

>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
Run Code Online (Sandbox Code Playgroud)

很酷,但没想到看到False,NoneTrue那里.它们是内置物体.

为什么True,FalseNone关键字,但int不是?是什么让Python中的关键字成为真正的东西?

编辑:我在谈论Python 3

python object keyword

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

通过 for 循环列表构建 f 字符串

我想知道如何从此开始:

mylist = [10, 20, 30]
Run Code Online (Sandbox Code Playgroud)

对此:

'Quantity 10, quantity 20 quantity 30'
Run Code Online (Sandbox Code Playgroud)

我知道可以通过以下方式完成:

mystring = f"Quantity {mylist[0]}, quantity {mylist[1]} quantity {mylist[2]}"
Run Code Online (Sandbox Code Playgroud)

但是有没有一种方法可以在构造 f 字符串时合并 for 循环,而不必一一提供所有列表索引?

编辑:Quantityquantity、 和quantity恰好是同一个字符串,但它们可以是“ Quantity10, rank20 kingdom and sovrenity30”之类的任何内容。因此,数字之间会有不同的文本。

python for-loop list f-string

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