我想转这个清单:
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不会为此感到骄傲.这有更短的路吗?
当我编写一个类时,我在__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__是更好的做法吗?
我需要计算数据框第一列的平均值,我可以使用该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 纳入计算产生的。
我想检查一个字符串是否在文本文件中,然后附加该字符串,如果它不存在.
我知道我可以通过创建两个单独的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.
任何人都可以解释为什么在第二次运行中截断最后两个字符?另外,如何读取文本并将其附加到文件中?
我试图刮掉这个网页的航班数量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.
任何人都知道获得当前值的任何其他方法?
我知道为数组分配一些值如下:
arrayX = [20080711, 20080712, 20080713, 20080714]
Run Code Online (Sandbox Code Playgroud)
但是我不知道如何将这些值作为范围快速分配给数组。
从数学上我们知道90度角的余弦是0,但Python说它比这更多.
import math
math.cos(math.radians(90))
6.123233995736766e-17
Run Code Online (Sandbox Code Playgroud)
Python和数字"0"之间有什么关系?
大多数标准库是用 Python .py 文件编写的,但有些是在 Unix 上的 .so 文件和 Windows 上的 .pyd 文件中。例如 os 写在 os.py 中,而 pyexpat 写在 pyexpat.cpython-36m-darwin.so 中。这些 .so 库有什么特别之处?
我们可以得到一个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,None和True那里.它们是内置物体.
为什么True,False和None关键字,但int不是?是什么让Python中的关键字成为真正的东西?
编辑:我在谈论Python 3
我想知道如何从此开始:
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 循环,而不必一一提供所有列表索引?
编辑:Quantity、quantity、 和quantity恰好是同一个字符串,但它们可以是“ Quantity10, rank20 kingdom and sovrenity30”之类的任何内容。因此,数字之间会有不同的文本。