Python基础知识-pycharm版 第3节
- 030 可变字符串_io.StringIO
- 031 运算符总结_位操作符_优先级问题
- 032 (第3章 序列)列表_特点_内存分析
- 033 创建列表的4种方式_推导式创建列表
- 034 列表_元素的5种添加方式_效率问题
- 035 列表_元素删除的三种方式_删除本质是数组元素拷贝
- 036 列表_元素的访问_元素出现次数统计_成员资格判断
- 037 列表_切片slice操作
- 038 列表_排序_revered逆序_max_min_sum
- 039 列表_二维列表_表格数据的存储和读取
- 040 元组_特点_创建的两种方式_tuple()要点
- 041 元组_元素访问_计数方法_切片操作_成员资格判断_zip()
- 042 元组_生成器推导式创建元组_总结
030 可变字符串_io.StringIO
在Python中,字符串属于不可变对象,不支持原地修改,如果需要修改其中的值,智 能创建新的字符串对象。但是,经常我们确实需要原地修改字符串,可以使用 io.StringIO 对象或array 模块。
>>> import io
>>> s = "hello, sxt"
>>> sio = io.StringIO(s)
>>> sio
<_io.StringIO object at 0x02F462B0>
>>> sio.getvalue()
'hello, sxt'
>>> sio.seek(7)
7
>>> sio.write("g")
1
>>> sio.getvalue()
'hello, gxt'
031 运算符总结_位操作符_优先级问题
基本运算符
- 比较运算符可以连用,并且含义和我们日常使用完全一致。
>>> a = 4
>>> 3<a<10 #关系运算符可以连用
True
- 位操作
>>> a = 0b11001
>>> b = 0b01000
>>> c = a|b
>>> bin(c) #bin()可以将数字转成二进制表示
'0b11001'
>>> bin(c&b)
'0b1000'
>>> bin(c^b)
'0b10001'
>>> a = 3
>>> a<<2 #左移1 位相当于乘以2.左移 2位,相当于乘以4
12
>>> a = 8
>>> a>>1 #右移 1位相当于除以 2.
- 加法操作
(1) 数字相加 3+2 → \to → 5
(2) 字符串拼接 “3”+“2” → \to → “32”
(3) 列表、元组等合并 [10,20,30]+[5,10,100] → \to →[10,20,30,5,10,100] - 乘法操作
(1) 数字相乘 3*2 → \to → 6
(2) 字符串复制 “sxt”*3 → \to → ”sxtsxtsxt”
(3) 列表、元组等复制 [10,20,30]*3 → \to → [10,20,30,10,20,30,10,20,30]
复合赋值运算符
复合赋值可以让程序更加精炼,提高效率。
注:与C 和JAVA不一样,Python不支持自增(++)和自减(- -)
运算符优先级问题
如下优先级,从高到低。
实际使用中,记住如下简单的规则即可,复杂的表达式一定要使用小括号组织。
- 乘除优先加减
- 位运算和算术运算>比较运算符>赋值运算符>逻辑运算符
032 (第3章 序列)列表_特点_内存分析
- 序列
序列是一种数据存储方式,用来存储一系列的数据。在内存中,序列就是一块用来存放 多个值的连续的内存空间。比如一个整数序列[10,20,30,40],可以这样示意表示:
由于 Python3 中一切皆对象,在内存中实际是按照如下方式存储的: a = [10,20,30,40]
从图示中,我们可以看出序列中存储的是整数对象的地址,而不是整数对象的值。python 中常用的序列结构有: 字符串、列表、元组、字典、集合 - 列表简介
列表:用于存储任意数目、任意类型的数据集合。
列表是内置可变序列,是包含多个元素的有序连续的内存空间。列表定义的标准语法格式: a = [10,20,30,40]
其中,10,20,30,40 这些称为:列表a的元素。
列表中的元素可以各不相同,可以是任意类型。比如: a = [10,20,‘abc’,True]
列表对象的常用方法汇总如下:
Python的列表大小可变,根据需要随时增加或缩小。
字符串和列表都是序列类型,一个字符串是一个字符序列,一个列表是任何元素的序列。前面学习的很多字符串的方法,在列表中也有类似的用法,几乎一模一样。
033 创建列表的4种方式_推导式创建列表
- 列表的创建
(1) 基本语法[]创建
>>> a = [10,20,'gaoqi','sxt']
>>> a = [] #创建一个空的列表对象
(2) list()创建
使用 list()可以将任何可迭代的数据转化成列表。
>>> a = list() #创建一个空的列表对象
>>> a = list(range(10))
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a = list("gaoqi,sxt"