LYAH描述fromIntegral为:
从它的类型签名我们看到它需要一个整数并将其转换为更一般的数字.当你希望积分和浮点类型很好地协同工作时,这很有用.
我不明白这个功能是如何工作的,或者为什么需要从解释器中学习它.
fromIntegral 4 + 3.2
7.2
4 + 3.2
7.2 -- seems to work just fine?!
fromIntegral 6
6
fromIntegral 6.2
-- raises an error
:t fromIntegral
fromIntegral :: (Integral a, Num b) => a -> b -- does this mean it takes 1 arg or 2?
Run Code Online (Sandbox Code Playgroud) 来自LearnYouAHaskell:
还有一件事 - 你不能在模式匹配中使用++.如果你试图模式匹配(xs ++ ys),那么第一个和第二个列表中的内容是什么?这没有多大意义.匹配(xs ++ [x,y,z])或只是(xs ++ [x])的东西是有意义的,但由于列表的性质,你不能这样做.
我正在努力通过列表的性质来解释他的意思,为什么这不可能.
如果是这样,该怎么做?
我只找到了通过 WSL2 安装 anaconda 的说明,但我已经在 Windows 中安装了它。
我发现下面的代码片段让 WSL2 运行我的 Windows bash 帮助程序,该帮助程序存储了我的 github 凭据,并希望得到类似的结果。
git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/libexec/git-core/git-credential-manager.exe"
或者,如果我必须通过 WSL2 安装但可以在 Windows 中使用它,那也可以。我只是真的不想拥有两份。
我有一个包含重复的元组列表,我已经使用我在此处找到的代码将它们转换为字典:
mylist = [(a,1),(a,2),(b,3)]
result = {}
for i in mylist:
result.setdefault(i[0],[]).append(i[1])
print(result)
>>> result = {a:[1,2], b:[3]}
Run Code Online (Sandbox Code Playgroud)
我记得了解到大多数 for 循环都可以重写为推导式,所以我想练习,但在过去的一个小时里我未能完成一项工作。
我读了这个:https : //stackoverflow.com/a/56011919/2415706,现在我还没有找到另一个这样做的库,但我也不确定我想写的这种理解是否是一个坏主意因为 append 会改变事物。
statement我在 Postgres 中有下表:
stock | year | statement | amount
ACME | 2003 | Q1 Earnings | 100
ACME | 2003 | Q2 Earnings | 200
ACME | 2004 | Q2 Earnings | 300
Run Code Online (Sandbox Code Playgroud)
如何制作一个新表,将一年的 4 个季度全部排在一行?以及缺失语句的空值。
stock | year | Q1 Earnings | Q2 Earnings | Q3 Earnings | Q4 Earnings
ACME | 2003 | 100 | 200 | Null | Null
ACME | 2004 | NULL | 300 | Null | Null
Run Code Online (Sandbox Code Playgroud)
找到了这个答案:Postgres - Transpose Rows …
这个请求曾经有效,但现在得到了 403。我尝试添加一个像这个答案一样的用户代理,但仍然不好:https ://stackoverflow.com/a/38489588/2415706
第二个答案进一步说要找到引用标头,但我无法弄清楚这些响应标头在哪里:https ://stackoverflow.com/a/56946001/2415706
import requests
headers = {
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36",
"referer": "https://www.ziprecruiter.com/Salaries/What-Is-the-Average-Programmer-Salary-by-State"
job_url = "https://ziprecruiter.com/Salaries/What-Is-the-Average-Programmer-Salary-by-State"
job_response = requests.get(job_url, headers=headers, timeout=10)
print(job_response)
Run Code Online (Sandbox Code Playgroud)
这是刷新页面后我在第一个选项卡的“请求标头”下看到的内容,但内容太多。我想我只需要其中一行。
:authority: www.ziprecruiter.com
:method: GET
:path: /Salaries/What-Is-the-Average-Programmer-Salary-by-State
:scheme: https
accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
accept-encoding: gzip, deflate, br
accept-language: en-US,en;q=0.9
cache-control: max-age=0
cookie: __cfduid=dea4372c39465cfa2422e97f84dea45fb1620355067; zva=100000000%3Bvid%3AYJSn-w3tCu9yJwJx; ziprecruiter_browser=99.31.211.77_1620355067_495865399; SAFESAVE_TOKEN=1a7e5e90-60de-494d-9af5-6efdab7ade45; zglobalid=b96f3b99-1bed-4b7c-a36f-37f2d16c99f4.62fd155f2bee.6094a7fb; ziprecruiter_session=66052203cea2bf6afa7e45cae7d1b0fe; experian_campaign_visited=1
sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="90", "Google Chrome";v="90"
sec-ch-ua-mobile: ?0
sec-fetch-dest: document
sec-fetch-mode: navigate
sec-fetch-site: none
sec-fetch-user: ?1 …Run Code Online (Sandbox Code Playgroud) haskell ×2
anaconda ×1
crosstab ×1
list ×1
numbers ×1
postgresql ×1
python ×1
sql ×1
transpose ×1
web-scraping ×1