python学习 二.数据类型

数学计算

  • abs(x),返回数字的绝对值
  • ceil(x),向上取整,math.ceil(1,1)
  • floor(x),向下取整,math.floor(0.9)
  • round(x, y),返回四舍五入的值,保留y位有效数字,round(1.26, 2)
  • [1, ,2, 3][-1] == 3


列表

  • append(obj),在列表末尾添加新的对象
  • insert(index, obj),将对象插入列表
  • pop(obj=list[-1]),pop()默认移除列表中的最后一个元素,并且返回该元素的值,pop(0)移除第一个元素
  • remove(obj),移除列表中某个值的第一个匹配项

列表生成式

# 生成 [1, 2, ..., 10]
[ x for x in range(1, 11) ]

# 扩展
[ x * x for x in range(1, 11) ]

[ x * x for x in range(1, 11) if x % 2 == 0 ]

# 两层循环
[ x+y for x in [1, 2, 3] for y in [3, 2, 1] ]

列表生成式应用,cookie处理。通过webdriver获得的cookie格式如下

from selenium import webdriver

driver = webdriver.Chrome()
driver.get('https://nba.hupu.com/')
cookieList = driver.get_cookies()
print(cookieList)
cookieList = [{'domain': '.hupu.com', 'expiry': 1528971148, 'httpOnly': False, 'name': '__dacevst', 'path': '/', 'secure': False, 'value': '71bb4877.15c86974|1528971148059'}, {'domain': '.hupu.com', 'expiry': 1844329349.925677, 'httpOnly': False, 'name': '_dacevid3', 'path': '/', 'secure': False, 'value': '60be1a6a.f464.d8f9.bdd1.584ffaa34fda'}, {'domain': 'nba.hupu.com', 'expiry': 1560505347, 'httpOnly': False, 'name': 'ADHOC_MEMBERSHIP_CLIENT_ID1.0', 'path': '/', 'secure': False, 'value': '813708a9-d9c2-efa9-fffd-b8cb26838052'}, {'domain': '.nba.hupu.com', 'httpOnly': False, 'name': 'Hm_lpvt_2eb807cf60e3295559f967a907218f33', 'path': '/', 'secure': False, 'value': '1528969349'}, {'domain': 'nba.hupu.com', 'httpOnly': False, 'name': '_cnzz_CV30020080', 'path': '/', 'secure': False, 'value': 'buzi_cookie%7C60be1a6a.f464.d8f9.bdd1.584ffaa34fda%7C-1'}, {'domain': '.nba.hupu.com', 'expiry': 1560505349, 'httpOnly': False, 'name': 'Hm_lvt_2eb807cf60e3295559f967a907218f33', 'path': '/', 'secure': False, 'value': '1528969349'}]

requests携带cookie进行请求时,cookie为字符串形式,只需要上面列表中的name与value值

cookie = [ item['name']+"="+item['value'] for item in cookieList ]
cookie = ";".join(cookie)
print(cookie)
__dacevst=71bb4877.15c86974|1528971148059;_dacevid3=60be1a6a.f464.d8f9.bdd1.584ffaa34fda;ADHOC_MEMBERSHIP_CLIENT_ID1.0=813708a9-d9c2-efa9-fffd-b8cb26838052;Hm_lpvt_2eb807cf60e3295559f967a907218f33=1528969349;_cnzz_CV30020080=buzi_cookie%7C60be1a6a.f464.d8f9.bdd1.584ffaa34fda%7C-1;Hm_lvt_2eb807cf60e3295559f967a907218f33=1528969349

tuple(元组)

  • 与list一样,区别在于tuple内的一级元素不可被修改,(1, 2, 4)[0] = 1这样操作会报错,(1, 2, 3, {'a': 1})[3]['a'] = 2则不会报错
  • 若tuple中只有一个元素,需要在末尾加上“,”,例如 (1, )


字符串

  • r'\n\n',r''中的字符串是原始的字符串,没有进行转译
  • find(char)、index(char)区别,如果序列中不存在,index()会抛出异常,find()会返回-1
  • str.join(seq),seq序列以str作为分隔符,拼接成新的字符串

字典 player = {"name": "kobe", "team": "Laker"}

  • 删除字典元素,del player ["name"]或者player .pop("name"),pop()会返回键对应的值
  • 获取不存在的元素,player ["son"]或者player.get("son"),前者会报错,后者不会
  • 字典遍历
player = {"name": "kobe", "team": "Laker"}
for i, v in player.items():
	print(i, v)

bytes,通常用于网络数据传输、二进制图片和文件的保存等等


set集合,不能重复的序列,自动去重

  • 创建方式,_set = set("Lakers Championship ")_set = set([1, 2, 3]) 或 _set = set([1, 2, 3]) 或 _set = {1, 2, 3},看起来跟字典的形式很像,字典区别在元素以键值对形式存在
  • set添加元素为add()方法,list添加元素为append()方法
  • 删除方法,remove()
  • set不能通过下标 / 键名获取其中的元素,但可以通过遍历获取所有元素

猜你喜欢

转载自blog.csdn.net/chenjineng/article/details/80695465
今日推荐