python中的常用小语法(持续更新,欢迎补充)
程序员文章站
2022-07-02 18:41:59
...
文本替换
例如把 line 这个字符串中的”\n”替换成 “”
line.replace("\n","")
查找字典中的key是否存在
方法一
dict.has_key(key_name)
返回值:True 或者 False
方法二
if key in dict.keys():
print "key in dict"
给字典按照value按照从大到小排序
排序
dict = {'a':21, 'b':5, 'c':3, 'd':54, 'e':74, 'f':0}
new_dict = sorted(dict.iteritems(), key=lambda d:d[1], reverse = True)
print new_dict
输出
python按照list中的字典的某key排序:
例子:
s=[
{"no":28,"score":90},
{"no":25,"score":90},
{"no":1,"score":100},
{"no":2,"score":20},
]
print "original s: ",s
# 单级排序,仅按照score排序
new_s = sorted(s,key = lambda e:e.__getitem__('score'))
print "new s: ", new_s
# 多级排序,先按照score,再按照no排序
new_s_2 = sorted(new_s,key = lambda e:(e.__getitem__('score'),e.__getitem__('no')))
print "new_s_2: ", new_s_2
输出:
original s: [{'score': 90, 'no': 28}, {'score': 90, 'no': 25}, {'score': 100, 'no': 1}, {'score': 20, 'no': 2}]
new s: [{'score': 20, 'no': 2}, {'score': 90, 'no': 28}, {'score': 90, 'no': 25}, {'score': 100, 'no': 1}]
new_s_2: [{'score': 20, 'no': 2}, {'score': 90, 'no': 25}, {'score': 90, 'no': 28}, {'score': 100, 'no': 1}]
说明
1.new_s和new_s2的区别在于当score均为90的时候,重新按照no排序
2.顺序为从小到大,若在sorted函数的参数加上reverse = True则为从大到小
字符串与url编码的转换
主要应用的场景
爬虫生成带搜索词语的网址
1.字符串转为url编码
import urllib
poet_name = "李白"
url_code_name = urllib.quote(poet_name)
print url_code_name
#输出
#%E6%9D%8E%E7%99%BD
2.url编码转为字符串
import urllib
url_code_name = "%E6%9D%8E%E7%99%BD"
name = urllib.unquote(url_code_name)
print name
#输出
#李白
上一篇: 【持续更新】Python常用语法糖汇总
下一篇: axios 请求