PythonNote1_(字符串、元组、列表等基础用法)

1. 字符串、元组、列表、字典的索引都是从0开始

2. Python内置不含数组,数组和矩阵都属于NumPy

3. print函数并列字符自动拼接

print('你''在''说''什么')

相当于
print('你'+'在'+'说'+'什么')

输出结果为:你在说什么

4.原始字符串的输出

对于以下命令

path = 'D:\new_project'
print (path)

输出结果为

D:
ew_project

原因在于原始路径中含有转义字符’\n’,输出时出现换行效果,想要输出原始的路径字符串,需要再次使用转义字符“\”,使“\n”从换行符再次转换成普通字符。

path = 'D:\\new_project'
print (path)

以上代码的输出结果为D:\new_project,由此可见:“\”是转义字符,它能够将第2个“\”从转义字符转回普通字符,从而“\n”就不再起到换行符的作用。

这样操作虽然简单,但遇到下方路径,就会有些麻烦
path = 'D:\new_project\test\nt\files\data'

采用‘\’进行转义输出时,需要使用多个‘\’:

path = 'D:\\new_project\\test\\nt\\files\\data'

此时在前面加上r可以解决问题,

path = r'D:\new_project\test\nt\files\data'

特殊:

当末尾出现‘\’结尾的路径时,需要将‘\’并列输出,原始字符串以‘\’结尾输出会抛出异常,示例如下:

path = r'D:\new_project\test\nt\files\data\\' # 末尾保持原样
path = r'D:\new_project\test\nt\files\data\' # 提示异常

当遇到这种需求时,需要对末尾的“\”单独进行转义处理,并和前面的字符串连接。
示例代码如下:(正确示例)

path = r'D:\new_project\test\nt\files\data''\\'
print (path)

以下是一些实验结果:

>>> path = r'D:\new_project\test\nt\files\data''\\'
>>> print(path)
D:\new_project\test\nt\files\data\
>>> path = r'D:\new_project\test\nt\files\data'+'\\'
>>> print(path)
D:\new_project\test\nt\files\data\
>>> path = r'D:\new_project\test\nt\files\data\\'
>>> print(path)
D:\new_project\test\nt\files\data\\
>>> path = r'D:\new_project\test\nt\files\data\'
  File "<stdin>", line 1
    path = r'D:\new_project\test\nt\files\data\'
                                               ^
SyntaxError: EOL while scanning string literal

5. 去除字符串两边的指定内容

字符串去除两侧指定内容的方法有三种:

strip(chars) :去除字符串两侧的指定内容,并且,可以同时去除多个相同的指定内容;参数chars为指定的一个或多个字符,不填入该参数则去除字符串两侧所有空格。

lstrip(chars):去除字符串左侧的指定内容,并且,可以同时去除多个相同的指定内容;参数chars为指定的一个或多个字符,不填入该参数则去除字符串左侧所有空格。

rstrip(chars):去除字符串右侧的指定内容,并且,可以同时去除多个相同的指定内容;参数chars为指定的一个或多个字符,不填入该参数则去除字符串右侧所有空格。

6. 字符串查询

字符串查询的方法有两种:

第一种:index(sub,start,end)和rindex(sub,start,end)

index方法是从左至右查询,rindex方法是从右至左查询;
参数sub是指被查询的字符或字符串,参数start是查询的起始位置,参数end是查询的终止位置(终止位置不在查询范围内);
参数start和参数end可以同时省略,这时为查询字符串中全部字符;也可以只省略参数end,表示查询范围为起始位置至末尾。
返回值为第一个找到的值的索引。

第二种:find(sub,start,end)和rfind(sub,start,end)

这两个函数和index函数以及rindex函数作用相同,并且用法相同.

两者的区别在于,当没有查询结果时,index函数与rindex函数会体制发生错误:ValueError:substring not find
而另外的两个函数,find函数和rfind函数,在没有查询结果时,返回值为-1。而另外的两个函数,find函数和rfind函数,在没有查询结果时,返回值为-1。

7. 格式化输出

“%s”是一个格式符,其中“s”表示字符串,也就是说“%s”表示这个格式符所在的位置内容必须用字符串替代;而接下来的一个“%”表示进行格式化的操作,也就是要把这个符号后方的内容替换掉前面的“%s”,来形成我们想要的字符串内容。

多个格式化输出
id = input('请输入您的身份证号:')
print('您的出生日期为:%s年%s月%s日' % (id[6:10], id[10:12], id[12:14]))

强调,以上代码中的符号必须为英文半角符号,切勿使用中文符号或英文全角符号。(字符串中包含的冒号除外)

format(args, kwargs)格式化输出

format(args,kwargs):对字符串进行格式化的函数;参数args表示可以输入多个参数(argument),参数间以逗号分隔;参数kwargs表示可以输入多个关键词参数,关键字函数的写法例如:age=’18’,age为关键字,’18’为这个关键字对应的值。

id = input('请输入您的身份证号:')

print('您的出生日期为:{}年{}月{}日'.format(id[6:10], id[10:12], id[12:14]))
print('您的出生日期为:{1}年{0}月{2}日'.format(id[10:12], id[6:10], id[12:14]))
print('您的出生日期为:{year}年{month}月{day}日'.format(month=id[10:12], year=id[6:10], day=id[12:14]))

运行结果如下:

请输入您的身份证号:110115199001122511
您的出生日期为:19900112日
您的出生日期为:19900112日
您的出生日期为:19900112

8 列表添加

末位添加append(object)
合并列表extend(iterable),iteralbe为可迭代对象
lst=['a','b','c']
print(lst.extend(['d','e']))
# 结果为
['a','b','c','d','e']
插入元素 insert(index,objecxt)
取出元素 pop(index),原列表发生改变
删除元素 remove(object)、del 列表[index]
删除指定内容元素:使用remove(object)函数可以删除列表中首次出现的与参数相同的元素,如果列表中不存在与参数相同的元素则抛出异常。
lst = ['你','我','他','我','你','他'] # 创建列表
lst.remove('我') # 删除从左至右第一个与指定内容匹配的元素
print (lst)

# 以上代码运行结果:['你', '他', '我', '你', '他']
删除单个指定位置元素:del 列表[索引位置]
lst = ['我','是','个','帅','哥'] # 创建列表
del lst[2] # 删除指定位置的元素
print (lst)

# 以上代码运行结果:['我', '是', '帅', '哥']
删除多个指定位置元素:del 列表[起始位置:终止位置]
lst = ['我','是','个','大',','哥'] # 创建列表
del lst[2:4] # 删除从起始位置至终止位置的多个元素
print (lst)

# 以上代码运行结果:['我', '是', '帅', '哥']

Python中区间为左闭右开

删除末尾元素:使用pop()函数,参数为空即可
lst = ['我','真','是','帅','哥'] # 创建列表
lst.pop() # 删除末尾的元素
print (lst)

# 以上代码运行结果:['我', '真', '是', '帅']
删除所有元素清空所有元素:lst.clear()或者 lst del[:]
lst=[1,2,3,4,5]
print(lst.clear())
print(lst del[:])
# 输出结果都为 []

9 列表排序

反向排序: reverse()
升降排序:sort(cmp,key,reverse)函数,参数cmp为函数,参数key为函数,reverse为布尔值(True和False)。参数为空时默认为升序排列。通过设置参数reverse=True,转换为降序排列。
升降序排列也可以使用函数sorted(iterable,cmp,key,reverse),参数iterable为可迭代对象;参数cmp为函数,参数key为函数,reverse为布尔值。
sorted()函数不会改变原列表。

10 元组转换为列表

使用list(iterable)函数,参数iterable为可迭代对象。

tup=(3,2,1,4,5,6)
lst=list(tup)
print(lst)

# 结果为
[3,2,1,4,5,6]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值