如何更改 url 的参数值?没有正则表达式。
现在我试试这个,但它很长:
from urllib.parse import parse_qs, urlencode, urlsplit
url = 'http://example.com/?page=1&text=test#section'
param, newvalue = 'page', '2'
url, sharp, frag = url.partition('#')
base, q, query = url.partition('?')
query_dict = parse_qs(query)
query_dict[param][0] = newvalue
query_new = urlencode(query_dict, doseq=True)
url_new = f'{base}{q}{query_new}{sharp}{frag}'
Run Code Online (Sandbox Code Playgroud)
另外,我通过 urlsplit 尝试过:
parsed = urlsplit(url)
query_dict = parse_qs(parsed.query)
query_dict[param][0] = newvalue
query_new = urlencode(query_dict, doseq=True)
parsed.query = query_new
url_new = urlencode(parsed)
Run Code Online (Sandbox Code Playgroud)
但就urlparsed.query = query_new它上升错误AttributeError: can't set attribute。
如果a在另一个列表中有一个列表,看起来像这样......
[['Harry',9,1],['Harry',17,1],['Jake',4,1], ['Dave',9,2],['Sam',17,2],['Sam',4,2]]
Run Code Online (Sandbox Code Playgroud)
我如何将中间元素添加到一起,所以对于'哈利'来说,例如,它显示为['Harry', 26]和Python也可以查看组号(第3个元素)并仅输出获胜者(分数最高的那个是中间元素).因此,对于每个群体,都需要有一个胜利者.所以最终的输出显示:
[['Harry', 26],['Sam',21]]
Run Code Online (Sandbox Code Playgroud)
这个问题不是一个重复:它还有第三个元素,我被困在其中
类似的问题给了我一个答案:
grouped_scores = {}
for name, score, group_number in players_info:
if name not in grouped_scores:
grouped_scores[name] = score
grouped_scores[group_number] = group_number
else:
grouped_scores[name] += score
Run Code Online (Sandbox Code Playgroud)
但是这只会增加得分,并不会从每个组中取得胜利者.请帮忙.
我曾经想过做这样的事情,但我不确定该做什么......
grouped_scores = {}
for name, score, group_number in players_info:
if name not in grouped_scores:
grouped_scores[name] = score
else:
grouped_scores[name] += score
for group in group_number:
if grouped_scores[group_number] = group_number:
[don't know what to do here]
Run Code Online (Sandbox Code Playgroud) 我正在尝试编写干净简洁的代码,并且在很多代码中,我看到有时候我看到人们的代码不一致.我问的是,有没有这样的实例
print("Cars on the road: " + cars)
比这更合适
print("Cars on the road: {}".format(cars))
或者只是一个偏好的问题?
我正在寻找的只是可能值的列表,classinfo因为该文档未提供任何值,而且我似乎无法在线找到其他任何位置,更不用说SO了。
试图用今天的日期减去created_date列填充一列,但出现以下错误:TypeError:-的不支持的操作数类型:'str'和'str'
import datetime
now = datetime.date.today()
today = '{0:%m/%d/%Y}'.format(now).format(now)
today
data['Aging'] = today
data['Aging'] = data['Aging'].sub(data['Created_Date'], axis=0)
Run Code Online (Sandbox Code Playgroud)
TypeError:-:'str'和'str'不支持的操作数类型
任务:
编写一个Python函数,它返回列表中有多少个整数元素是同一列表中其他元素的精确平方.假设列表不包含负数,并且没有重复项.
此函数接受一个列表并返回计数.例如,如果x是[3,4,0,2,1,9,25],则sum返回4,因为3*3 = 9,0*0 = 0,1*1 = 1,2*2 = 4.
这是我的代码:
x = [3,4,0,2,1,9,25]
def count(x):
sum = 0
for i in x:
if i*i in x is True:
sum += 1
return sum
Run Code Online (Sandbox Code Playgroud)
当我运行count(x)时输出为0而不是4,我认为逻辑是正确的.
这听起来有点奇怪,但是我认为这正是我现在需要的:
我有几个熊猫数据框,其中包含带有浮点数的列,例如:
a b c
0 0 1 2
1 3 4 5
2 6 7 8
Run Code Online (Sandbox Code Playgroud)
现在,我想添加一列,仅包含一行,并且该值等于列“ a”的平均值,在这种情况下为3.0。因此,新的数据框将如下所示:
a b c average
0 0 1 2 3.0
1 3 4 5
2 6 7 8
Run Code Online (Sandbox Code Playgroud)
并且下面的所有行都是空的。
我已经尝试过类似的事情,df['average'] = np.mean(df['a'])但是那使我整整达到了3.0。任何帮助将不胜感激。
我刚刚偶然发现了python解释器的奇怪行为.错误印刷,我在声明变量时放置了冒号而不是等号.
Python 3.6.1 (v3.6.1:69c0db5050, Mar 21 2017, 01:21:04)
>>> foo: 'bar'
>>>
Run Code Online (Sandbox Code Playgroud)
之前没有声明变量foo.令人惊讶的是,Python没有抛出异常,但也没有做任何其他事情.
这是某种新语法吗?它的目的是什么?
PS Python 2.7按预期抛出异常:
Python 2.7.10 (default, Aug 17 2018, 17:41:52)
>>> foo: 'bar'
File "<stdin>", line 1
foo: 'bar'
^
SyntaxError: invalid syntax
>>>
Run Code Online (Sandbox Code Playgroud) 我有一个 df 像:
ID value1 start end
1 100 1 2
1 200 2 4
2 50 1 1
2 30 3 5
Run Code Online (Sandbox Code Playgroud)
我想为开始和结束之间的每个值填充新行
最终的 df 应如下所示,其中 period 是开始和结束之间的每个唯一值
ID value1 period
1 100 1
1 100 2
1 200 2
1 200 3
1 200 4
2 50 1
2 30 3
2 30 4
2 30 5
Run Code Online (Sandbox Code Playgroud) 我有一个混合数据类型的数据框,我想更改 str 单元格的值(每个单元格由两个字母加三个数字组成),以便奇数变为偶数,但数字会减少。AB123 应该变成 AB122 而不会改变它之前的字母。
这是一个混合类型的示例数据框:
df = pd.DataFrame({'Opportunity':['AB122','AB123','AB125', 'AB124'],
'Quantity': [2, 3, 4, 1],
'Member': ["AACC", "AACC", "AACC", 'DDEE']})
print (df)
Opportunity Quantity Member
0 AB122 2 AACC
1 AB123 3 AACC
2 AB121 4 AACC
3 AB120 1 DDEE
Run Code Online (Sandbox Code Playgroud)
我希望结果是:
print (df2)
Opportunity Quantity Member
0 AB122 2 AACC
1 AB122 3 AACC
2 AB120 4 AACC
3 AB120 1 DDEE
Run Code Online (Sandbox Code Playgroud) python ×10
pandas ×4
dataframe ×3
python-3.x ×3
arrays ×1
class ×1
colon ×1
datetime ×1
isinstance ×1
list ×1
python-2.7 ×1
string ×1
subtraction ×1
syntax ×1
types ×1
url ×1
urllib ×1