20201118_python基础知识_day3

1430-王同学

发表文章数:21

热门标签

首页 » Python » 正文

可变字符串

遇到可变字符串修改的比较频繁的时候,考虑使用IO模块

>>> a = 'hello,sxt'
>>> import io
>>> sio = io.StringIO(a)
>>> sio
<_io.StringIO object at 0x00000252491B8280>
>>> sio.getvalue()
'hello,sxt'
>>> sio.seek(7)
7
>>> sio.write('g')
1
>>> sio.getvalue()
'hello,sgt'

基本运算符

>>> a = 4
>>> 3<a<10
True
>>> a = 0b11001
>>> b = 0b01000
>>> a
25
>>> b
8
>>> c = a|b
>>> c
25
>>> bin(c)
'0b11001'
>>> bin(a|b)
'0b11001'
>>> bin(a^b) #异操作,相同为0,相异为1
'0b10001'
>>> a=3
>>> a<<2  #左移×4
12
>>> a>>2  #右移除4
0

20201118_python基础知识_day3
小括号组织
位运算和算数运算>赋值运算符>逻辑运算符

序列

  • 字符串
  • 列表 列表中数据类型可以不同,大小可变
  • 元组
  • 字典
  • 集合

列表的创建

  • []
  • list()
  • range(start,end,step)
  • 推导式
>>> a = [x*2 for x in range(5)]
>>> a
[0, 2, 4, 6, 8]
>>> a = [x*2 for x in range(100)if x%9==0]#通过if过滤数据
>>> a
[0, 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198]

列表元素的增加

一般只在列表尾部增加或删除

  • append() 创建新的对象
  • +产生的都是新的对象
  • extend() 不创建新的对象 (用这个比较快)
  • insert 将指定元素插入到对象任意位置

列表元素的删除

  • del 删除 del a[2]
  • pop() 默认产出最后一个元素,也可指定
  • remove() 删除首次出现元素

列表元素访问和计数

  • 通过索引访问
  • index() 获取首次出现的索引,可以指定第几次出现的值
  • count 获得指定元素在列表中出现的次数,返回0不存在
  • len

切片操作

和前面一样

列表排序

  • 修改原列表,不建新列表的排序
>>> a = [20,10,30,40]
>>> a.sort()
>>> a
[10, 20, 30, 40]
>>> a.sort(reverse=True)
>>> a
[40, 30, 20, 10]
>>> import random
>>> random.shuffle(a) #随机打乱
>>> a
[30, 10, 20, 40]
  • 建立新列表的排序
>>> a
[30, 10, 20, 40]
>>> a
[30, 10, 20, 40]
>>> id(a)
2552437072000
>>> a = sorted(a)
>>> a
[10, 20, 30, 40]
>>> id(a)
2552437006016
>>> a = sorted(a,reverse=True)
>>> a
[40, 30, 20, 10]

reversed()返回迭代器

>>> a
[40, 30, 20, 10]
>>> c = reversed(a)
>>> c
<list_reverseiterator object at 0x00000252491C37C0>
>>> list(c)
[10, 20, 30, 40]
>>> list(c)  #迭代器只能用1次
[]

max和min
sum 只针对数值型列表

多维列表

列表套列表

>>> a = [
	['小王','584612','bj'],
	['小de','58ed612','bj'],
	['小cr','5846ed12','bj'],
	]
>>> a
[['小王', '584612', 'bj'], ['小de', '58ed612', 'bj'], ['小cr', '5846ed12', 'bj']]
>>> a[0]
['小王', '584612', 'bj']
>>> a[0][0]
'小王'

元组

  • 不可变序列,不能增加删除
  • 访问计数连接等和列表一样
    创建
  • ()小括号可以省略,只有一个数要加逗号
  • tuple()
  • 删除 del a
  • 注意:sorted只能生成列表
#zip list可用于把两个列表合成一个字典
>>> a = [10,20,30]
>>> b = [4,5,7]
>>> zip(a,b)
<zip object at 0x00000252491AE280>
>>> d = zip(a,b)
>>> list(d)
[(10, 4), (20, 5), (30, 7)]

生成器推导式创建元组

>>> s = (x*2 for x in range(5))
>>> s
<generator object <genexpr> at 0x0000025249157900>
>>> tuple(s)
(0, 2, 4, 6, 8)
>>> tuple(s)
()
>>> s = (x*2 for x in range(5))
>>> s.__next__()
0
>>> s.__next__()
2
>>> s.__next__()
4
>>> s.__next__()
6
>>> s.__next__()
8
>>> s.__next__()
Traceback (most recent call last):
  File "<pyshell#150>", line 1, in <module>
    s.__next__()
StopIteration

与整数和字符串一样,元组可以作为字典的键,列表则永远不能作为字典的键使用

标签:

未经允许不得转载:作者:1430-王同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《20201118_python基础知识_day3》 发布于2020-11-18

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录