分类 "Python" 下的文章

问题:在python脚本中想判断字符串是否为数字
解决:使用isdigit()方法
方法:
str.isdigit() 如果为数字返回True,如果不为数字返回False

拓展:
s为字符串
s.isalnum()  所有字符都是数字或者字母,为真返回 Ture,否则返回 False。
s.isalpha()   所有字符都是字母,为真返回 Ture,否则返回 False。
s.isdigit()     所有字符都是数字,为真返回 Ture,否则返回 False。
s.islower()    所有字符都是小写,为真返回 Ture,否则返回 False。
s.isupper()   所有字符都是大写,为真返回 Ture,否则返回 False。
s.istitle()      所有单词都是首字母大写,为真返回 Ture,否则返回 False。
s.isspace()   所有字符都是空白字符,为真返回 Ture,否则返回 False。

问题:因为需要根据python字典的value来获取它对应的key,但没找到相应的方法,只能考虑将字典的key与value互换
解决:进行for循环
方法:
例:grade_dict = {'1':[7,1], '2':[7,2], '3':[8,1], '4':[8,2], '5':[9,1], '6':[9,2]}
grade_dict_reverse = {str(v):k for k,v in grade_dict.items()}
注:因为字典的key不能是list,必需转换成string

问题:如何将python的日期转换成字符串
解决:使用str()方法或者strftime()方法
方法:
import datetime
today = datetime.date.today()
today_str = today.strftime('%Y-%m-%d')
today_str2 = str(today)

问题:想获取这周的日期区间
解决:使用datetime.timedelta
方法:
today = datetime.date.today()        # 获取当前日期, 因为要求时分秒为0, 所以不要求时间
weekday = today.weekday()        # 获取当前周的排序, 周一为0, 周日为6
monday_delta = datetime.timedelta(weekday)    # 当前日期距离周一的时间差
sunday_delta = datetime.timedelta(7 - weekday)    # 当前日期距离下周一的时间差
monday = today - monday_delta    # 获取这周一日期
next_monday = today + sunday_delta    # 获取下周一日期

问题:python中list的sort()方法与sorted方法有什么区别
解决:自己测试一下
方法:
a = [1,2,4,6,3,2]
a.sort()
此时 a:[1, 2, 2, 3, 4, 6]
b = [1,2,4,6,3,2]
c = sorted(b)
此时 c:[1, 2, 2, 3, 4, 6]   b:[1,2,4,6,3,2]