python自学笔记(二)-- 有关列表、元组、字符串

1、列表(list)

列表是最常用的python数据类型。序列中的每个元素都分配一个数字。

列表的数据项不需要具有相同的类型;列表中的元素可以重复。

列表的第一个索引是0,第二个索引是1,依次类推。例如:

列表语法:(列表内的元素没有要求?)

list1=[‘name1’,‘name2’,‘name3’]
list2=[‘1’,‘2’,‘3’]

1.1 访问列表中的值

使用下标索引来访问列表中的值,也可以使用方括号的形式截取字符。如下:

>>> list1=['math','English','Chinese','1','2','3'];
>>> list2=['4','5','6','7'];
>>> print ("list1[0]:")
list1[0]:
>>> print ("list1[0]:",list1[0])
list1[0]: math
>>> print ("list2[1:3]:",list2[1:3])
list2[1:3]: ['5', '6']
>>> print ("list2[1:4]:",list2[1:4])
list2[1:4]: ['5', '6', '7']
>>> print(list1[5])
3

注意!!!当使用分片步长时,list[a:b]表示从下标索引为a的元素到下标索引为b的元素(不包括下标索引为b的元素)即从下标索引为a的元素到下标索引为b-1的元素即可

即代码中第7~10行,list[1:3]表示从下标索引为1的元素到下标索引为2的元素;list[0:4]表示从下标索引为0的元素到下标索引为3的元素。

1.2 更新列表

a、可以对列表的数据项进行修改或更新。如下:


>>> list1=['math','English','Chinese','1','2','3'];
>>> list1[0]='yeye'
>>> list1
['yeye', 'English', 'Chinese', '1', '2', '3']

b、也可以使用append(‘ ’)的方法来添加列表项,但注意一次只能添加一项,如果添加多项就会报错

函数语法:

list.append(’ ')

如下:

>>> list1=['math','English','Chinese','1','2','3'];
>>> list1.append('4')
>>> list1
['math', 'English', 'Chinese', '1', '2', '3', '4']
>>> list1.append('4','5')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: append() takes exactly one argument (2 given)

c、

1.3 删除列表元素

a、可以使用del语句来删除列表的元素。如下:

>>> list1=['math','English','Chinese','1','2','3'];
>>> del list1[5]
>>> list1
['math', 'English', 'Chinese', '1', '2']

b、也可以使用remove函数移除列表中某个值的第一个匹配项。

语法:

list.remove(’obj’)
obj–要从列表中移除的元素的值

如下:

>>> list1=['math','English','1','Chinese','2','1','3'];
>>> list1.remove('1')
>>> list1
['math', 'English', 'Chinese', '2', '1', '3']

1.4 列表脚本操作符

列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。如下:

python表达式结果描述
len([1,2,3])3长度
[1,2,3]+[4,5,6][1,2,3,4,5,6]组合
[‘hi!’]*4[‘hi!’,‘hi!’,‘hi!’,‘hi!’]重复
3in[1,2,3]ture元素是否存在与列表
for x in [1,2,3]:print(x,end=" ")1 2 3迭代

1.5 列表截取与拼接

列表支持截取操作。如下:

>>> l=['math','english','chinese']
>>> l[2]
'chinese'
>>> l[-2]
'english'
>>> l[1:]
['english', 'chinese']
python表达式结果描述
l[2]‘chinese’读取第三个元素
l(-2)‘english’从右侧开始读取倒数第二个元素
l[1:][‘english’,chinese’]输出从第二个元素开始后的所有元素

列表还支持拼接操作。如下:

>>> l=[1,2,3,4]
>>> l +=[5,6,7,8]
>>> l
[1, 2, 3, 4, 5, 6, 7, 8]

1.6 嵌套列表

使用嵌套列表即在列表里创建其它列表。如下:

>>> list1=['a','b','c']
>>> list2=[1,2,3]
>>> list=[list1,list2]
>>> list
[['a', 'b', 'c'], [1, 2, 3]]
>>> list[1]
[1, 2, 3]
>>> list[0]
['a', 'b', 'c']
>>> list[0][1]
'b'

1.7 python中有关列表的函数&方法

序号函数
1len(list) – 列表元素个数
2max(list) --返回列表元素最大值
3min(list) – 返回列表元素最小值
4list(seq) – 将元组转换为列表
序号方法
1list.append(obj) – 在列表末尾添加新的对象
2list.count(obj) – 统计某个元素在列表中出现的次数
3list.extend(seq) – 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
4list.index(obj) – 从列表中找出某个值第一个匹配项的索引位置
5list.insert(index,obj) – 将对象插入列表
6list.pop([index=-1]) – 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7list.remove(obj) – 移除列表中某个值的第一个匹配项
8list.reverse() – 反向列表中元素
9list.sort(key=None, reverse=False) – 对原列表进行排序
10list.clear() – 清空列表
11list.copy() – 复制列表

2、元组(tuple)

Python 的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号

a、元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。如下:(这里type指种类)

>>> tup1=('math','chinese','english');
>>> tup2=(1,2,3,4,5)
>>> tup3='a','b','c','d';  #不需要括号也可以
>>> type(tup3)
<class 'tuple'>

b、元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用。如下:

>>> tup1=(1)
>>> type(tup1) #不加逗号,类型为整型
<class 'int'>
>>> tup1=(1,)
>>> type(tup1) #加上逗号,类型为元组
<class 'tuple'>

元组与列表类似,下标索引也是从0开始,可以进行截取组合等

2.1 访问元组

元组可以使用下标索引来访问元组中的值,(与列表类似)如下:

>>> tup1=('math','chinese','english');
>>> tup2=(1,2,3,4,5);
>>> print('tup1[0]:',tup1[0])
tup1[0]: math
>>> print('tup2[1:5]:',tup2[1:5])
tup2[1:5]: (2, 3, 4, 5)

2.2 修改元组

元组中的元素值是不允许修改的,但我们可以对元组进行连接组合。如下:

>>> tup1=('math','chinese','english');
>>> tup2=(1,2,3,4,5);
>>> tup1[0]=1 #修改元组元素操作会报错
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> # 创建一个新的元组
... tup3=tup1+tup2;
>>> tup3
('math', 'chinese', 'english', 1, 2, 3, 4, 5)

2.3 删除元组

元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组。如下:

>>> tup=('math','chinese','english');
>>> print (tup)
('math', 'chinese', 'english')
>>> del tup
>>> print(tup)  #删除后的元组输出后不存在
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'tup' is not defined

2.4 元组运算符

与列表一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。

python表达式结果描述
len((1,2,3))3长度
(1,2,3)+(4,5,6)(1,2,3,4,5,6)组合
(‘hi!’)*4(‘hi!’,‘hi!’,‘hi!’,‘hi!’)重复
3in(1,2,3)ture元素是否存在与列表
for x in (1,2,3):print(x,)1 2 3迭代

2.5 元组索引,截取

因为元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素,如下所示:

元组:T=(‘math’,‘english’,‘chinese’)

python表达式结果描述
T[2]‘chinese’读取第三个元素
T[-2]‘english’反向读取;读取倒数第二个元素
T[1:](‘english’,‘chinese’)截取元素,从第二个开始后的所有元素

运行如下:

>>> T=('math','english','chinese')
>>> T[2]
'chinese'
>>> T[-2]
'english'
>>> T[1:]
('english', 'chinese')

2.6 元组内置函数

python元组包含了以下内置函数:

序号方法及描述
1len(tuple) – 计算元组元素个数
2max(tuple) – 返回元组中元素最大值
3min(tuple) – 返回元组中元素最小值
4tuple(seq) – 将列表转换为元组

第四个将列表转化为元组,实例如下:

>>> list1=['math','english','chinese'];
>>> tuple1=tuple(list1);
>>> tuple1
('math', 'english', 'chinese')

3、字符串(string)

字符串是 Python 中最常用的数据类型。可以使用引号( ’ 或 " )来创建字符串。创建字符串很简单,只要为变量分配一个值即可。例如:

>>> str1='hello,world'
>>> str2="hello,world"

3.1 访问字符串中的值

Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。Python 访问子字符串,可以使用方括号来截取字符串,如下:

>>> str1='hello,world'
>>> str2='yeyexiaookeai'
>>> print ("str1[0]:",str1[0])
str1[0]: h
>>> print ("str2[4:14]:",str2[4:14])
str2[4:14]: xiaookeai

3.2 字符串更新

可以截取字符串的一部分并与其他字段拼接。如下:

>>> str1='hello,world';
>>> print("已更新字符串:",str1[:6]+'yeyexiaokeai!')
已更新字符串: hello,yeyexiaokeai!

3.3 转义字符

在需要在字符中使用特殊字符时,python用反斜杠()转义字符。如下表:

转义字符描述
\ (在行尾时)续行符
\\反斜杠符号
\’单引号
\"双引号
\a响铃
\b退格(Backspace)
\000
\n换行
\v纵向制表符
\t横向制表符
\r回车
\f换页
\oyy八进制数,yy代表的字符,例如:\o12代表换行
\xyy十六进制数,yy代表的字符,例如:\x0a代表换行
\other其它的字符以普通格式输出

3.4 字符串运算符

下表例子中变量a值为字符串 “Hello”,b变量值为 “Python”:

操作符描述实例
+字符串连接a + b 输出结果: HelloPython
*重复输出字符串a*2 输出结果:HelloHello
[]通过索引获取字符串中字符a[1] 输出结果 e
[ : ]截取字符串中的一部分,遵循左闭右开原则,str[0,2] 是不包含第 3 个字符的a[1:4] 输出结果 ell
in成员运算符 - 如果字符串中包含给定的字符返回 True‘H’ in a 输出结果 True
not in成员运算符 - 如果字符串中不包含给定的字符返回 True‘M’ not in a 输出结果 True
r/R原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母 r(可以大小写)以外,与普通字符串有着几乎完全相同的语法。print( r’\n’ ) print( R’\n’ )
%格式字符串见一小节

3.5 字符串格式化

python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中

在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。如下:

>>> print("我叫 %s 今年 %d 岁!"%('小明',10))
我叫 小明 今年 10 岁!

python字符串格式化符号:

符号描述
%c格式化字符及其ASCII码
%s格式化字符串
%d格式化整数
%u格式化无符号整型
%o格式化无符号八进制数
%x格式化无符号十六进制数
%X格式化无符号十六进制数(大写)
%f格式化浮点数字,可指定小数点后的精度
%e用科学计数法格式化浮点数
%E作用同%e,用科学计数法格式化浮点数
%g%f和%e的简写
%G%f 和 %E 的简写
%p用十六进制数格式化变量的地址

格式化操作符辅助指令:

符号功能
*定义宽度或者小数点精度
-用做左对齐
+在正数前面显示加号( + )
< sp >在正数前面显示空格
#在八进制数前面显示零(‘0’),在十六进制前面显示’0x’或者’0X’(取决于用的是’x’还是’X’)
0显示的数字前面填充’0’而不是默认的空格
%‘%%‘输出一个单一的’%’
(var)映射变量(字典参数)
m.n.m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值