python 字符串%和format_python基础任务二
一、字符串
1.创建字符串
字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。
创建字符串很简单,只要为变量分配一个值即可。
var1='apple'
var2='Hello World!'
2.访问字符串中的值
Python不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。
Python访问子字符串,可以使用方括号来截取字符串。
var1='apple'
var2='Hello World!'
print ("var1[0]: ", var1[0])
print ("var2[1:5]: ", var2[1:5]) # var1[0]: a
# var2[1:5]: ello
3.字符串更新
var2='Hello World!'
print('更新后的var2:',var2[:6]+'Java!') # 更新后的var2: Hello Java!
4.转义字符
在需要在字符中使用特殊字符时,python用反斜杠()转义字符。
5.字符串运算符
下表实例变量 a 值为字符串 "Hello",b 变量值为 "Python":
下面代码实现:
a = "Hello"
b = "Python"
print ("a + b 输出结果:", a + b)
print ("a * 2 输出结果:", a * 2)
print ("a[1] 输出结果:", a[1])
print ("a[1:4] 输出结果:", a[1:4])
if("H" in a) :print ("H 在变量 a 中")
else :print ("H 不在变量 a 中") if("M" not in a) :print ("M 不在变量 a 中")
else :print ("M 在变量 a 中") print (r'n')
print (R'n') # a + b 输出结果: HelloPython
# a * 2 输出结果: HelloHello
# a[1] 输出结果: e
# a[1:4] 输出结果: ell
# H 在变量 a 中
# M 不在变量 a 中
# n
# n
6.字符串格式化
a.常规格式化字符串
name='Crystal'
age=25
print("My name is %s,my age is %d." % (name,age)) # My name is Crystal,my age is 25.
python字符串格式化符号:
格式化操作符辅助指令:
b.格式化字符串函数format( )
格式化字符串函数str.format(),python2.6之后才有的。
基本语法是通过 {} 和 :来代替以前的 % 。format 函数可以接受不限个参数,位置可以不按顺序。
print("{} {}".format("hello", "world")) # 不设置指定位置,按默认顺序
# hello world
print("{0} {1}".format("hello", "world")) # 设置指定位置
# hello world
print("{1} {0} {1}".format("hello", "world")) # 设置指定位置
# world hello world name='Crystal'
age=25
print("My name is {},my age is {}." .format(name,age))
可以设置参数
print
也可以向 str.format() 传入对象:
class AssignValue(object):def __init__(self, value):self.value = value
my_value = AssignValue(6)
print(('value 为: {0.value}'.format(my_value))) # "0" 是可选的
format( )数字格式化
下表展示了 str.format() 格式化数字的多种方法:
print('{:.2f}'.format(3.1415926)) # 3.14
^, <, > 分别是居中、左对齐、右对齐,后面带宽度, : 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。
+ 表示在正数前显示 +,负数前显示 -; (空格)表示在正数前加空格
b、d、o、x 分别是二进制、十进制、八进制、十六进制。
我们可以使用大括号 {} 来转义大括号:
print ("{} 对应的位置是 {{0}}".format("python")) # python 对应的位置是 {0}
7.三引号
python中三引号可以将复杂的字符串进行复制,允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。
三引号的语法是一对连续的单引号或者双引号(通常都是成对的用)。单引号里面字符串如果存在换行,则会报错。
hi='''hi,i am here!''' print(hi)
# 返回结果:
# hi,
# i am here! hi
# 'hi,ni am here!'
8.字符串内建函数
二、列表
1.创建列表
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
Python有6个序列的内置类型,但最常见的是列表和元组。序列都可以进行的操作包括索引,切片,加,乘,检查成员。此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:
list1=['bldg','unit',23,(84,79)]
print(list1)
list2=['zjpg','case','all']
print(list2)
list3=[25,87,46]
print(list3) #返回结果
#['bldg', 'unit', 23, (84, 79)]
#['zjpg', 'case', 'all']
#[25, 87, 46]
2.访问列表中的值
使用下标索引来访问列表中的值
print('list1[0]:',list1[0])
print('list2[1]:',list2[1])
print('list3[0:2]:',list3[0:2]) #返回结果 #list1[0]: bldg
#list2[1]: case
#list3[0:2]: [25, 87]
3.基本操作符
print(len(list1))
print(list1+list2)
print(list2*3)
print(46 in list3) # 4
# ['bldg', 23, (84, 79), 'one', 'zjpg', 'case', 'all']
# ['zjpg', 'case', 'all', 'zjpg', 'case', 'all', 'zjpg', 'case', 'all']
# True
4.列表截取
list2=list2*2
print(list2)
print(list2[3])
print(list2[-2])
print(list2[1:5]) # ['zjpg', 'case', 'all', 'zjpg', 'case', 'all']
# zjpg
# case
# ['case', 'all', 'zjpg', 'case']
5.python列表常见函数
(1)cmp(list1,list2) 比较两个列表的元素
如果比较的元素是同类型的,则比较其值,返回结果。
如果两个元素不是同一种类型,则检查它们是否是数字。
- 如果是数字,执行必要的数字强制类型转换,然后比较。
- 如果有一方的元素是数字,则另一方的元素"大"(数字是"最小的")
- 否则,通过类型名字的字母顺序进行比较。
如果有一个列表首先到达末尾,则另一个长一点的列表"大"。
如果我们用尽了两个列表的元素而且所 有元素都是相等的,那么结果就是个平局,就是说返回一个 0。
list1, list2 = [123, 'xyz'], [456, 'abc']
print cmp(list1, list2)
print cmp(list2, list1)list3 = list2 + [786]
print cmp(list2, list3) # -1
# 1
# -1
(2)len(llist) 列表元素个数
(3)max(list) 返回列表元素最大值
(4)min(list) 返回列表元素最小值
(5)list(seq) 将元组转化成列表
seq=(3,4,87,'abc')
print(list(seq)) # [3, 4, 87, 'abc']
(6)list1.append() 追加和更改替换列表元素
#追加
list1.append('one')
print(list1) #['bldg', 'unit', 23, (84, 79), 'one'] #更改替换
list3[2]='aaa'
print(list3)#[25, 87, 'aaa']
(7)del list1、list1.pop() 删除列表元素
del list1[1]
print(list1) #['bldg', 23, (84, 79), 'one']
list.pop([index=-1]) 参数是要移除列表元素的索引值,不能超过列表总长度,默认为 index=-1,删除最后一个列表值。
pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
print(list1)
list1.pop() #默认参数为-1
print(list1)
# ['bldg', 'unit', 23, (84, 79), 'one']
# ['bldg', 'unit', 23, (84, 79)] a=list1.pop(1)
print(list1)
print(a)
# ['bldg', 23, (84, 79)]
# 'unit'
(8)list.count() 统计某个元素在列表中出现的次数
aList = [123, 'xyz', 'zara', 'abc', 123]
print ("Count for 123 : ", aList.count(123))
print ("Count for zara : ", aList.count('zara'))
(9)list.extend() 追加列表
该函数用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
aList = [123, 'xyz', 'zara', 'abc', 123]
bList = [2009, 'manni']
aList.extend(bList)
print ("Extended List : ", aList) # Extended List : [123, 'xyz', 'zara', 'abc', 123, 2009, 'manni']
(10)list.index() 返回位置
函数用于从列表中找出某个值第一个匹配项的索引位置。该方法返回查找对象的索引位置,如果没有找到对象则抛出异常。
aList = [123, 'xyz', 'zara', 'abc','xyz']
print ("Index for xyz : ", aList.index( 'xyz' ))
print ("Index for zara : ", aList.index( 'zara' )) # Index for xyz : 1
# Index for zara : 2
(11)list.insert() 在指定位置插入指定对象
insert() 函数用于将指定对象插入列表的指定位置。
list.insert(index, obj) index是指定位置,obj是指定对象
aList = [123, 'xyz', 'zara', 'abc']
aList.insert( 3, 2009)
print ("Final List : ", aList) # Final List : [123, 'xyz', 'zara', 2009, 'abc']
(12)list.remove() 移除元素
remove() 函数用于移除列表中某个值的第一个匹配项。该方法没有返回值但是会移除列表中的某个值的第一个匹配项。
aList = [123, 'xyz', 'zara', 'abc', 'xyz']
aList.remove('xyz')
print ("List : ", aList)
aList.remove('abc')
print ("List : ", aList) # List : [123, 'zara', 'abc', 'xyz']
# List : [123, 'zara', 'xyz']
(13)list.reverse() 反向排序列表元素
reverse() 函数用于反向排序列表中元素。该方法没有返回值,但是会对列表的元素进行反向排序。
aList = [123, 'xyz', 'zara', 'abc', 'xyz']
aList.reverse()
print ("List : ", aList) # List : ['xyz', 'abc', 'zara', 'xyz', 123]
(14)list.sort() 排序
sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。
list.sort(cmp=None, key=None, reverse=False) reverse=False默认升序,True降序。
该方法没有返回值,但是会对列表的对象进行排序。
aList = ['123', 'Google', 'Runoob', 'Taobao', 'Facebook']
aList.sort()
print ("List : ", aList) # List : ['123', 'Facebook', 'Google', 'Runoob', 'Taobao'] #降序
vowels = ['e', 'a', 'u', 'o', 'i']
vowels.sort(reverse=True)
print ('降序输出:', vowels)
# 降序输出: ['u', 'o', 'i', 'e', 'a'] #指定排序元素
def takeSecond(elem):return elem[1]
random = [(2, 2), (3, 4), (4, 1), (1, 3)]
random.sort(key=takeSecond) # 指定第二个元素排序
print ('排序列表:', random)
# 排序列表: [(4, 1), (2, 2), (1, 3), (3, 4)]
(15)list.clear() 清除列表所有元素
ls = [1,2,3,"4",5,"a"]
ls.clear() #删除列表中的所有元素
print(ls.clear()) #无返回值
print(ls) #返回的ls为空列表 # None
# []
(16)list.copy() 复制列表(浅层复制)
ls = [1,2,3,[4,5,6]]
lt = ls.copy() #lt复制ls中的所有元素
ls.clear() #删除ls所有元素,lt中的元素没有被删除
lk = ls #这不是复制,而是给列表ls新关联一个引用,即增加一个别名,ls和lt指向同一个内存地址
print(id(ls),id(lk))
print(lt)
print(ls) # 1820579702152 1820579702152
# [1, 2, 3, [4, 5, 6]]
# []
无论是修改原列表ls的内嵌套列表的元素,还是修改复制列表lt的内嵌套列表元素。列表ls和列表lt的内嵌套列表元素都将改变。
但修改列表ls或列表lt的其它非嵌套元素,都不改变对方相应的元素。
ls = [1,2,3,[4,5,6]]
lt = ls.copy() #lt复制ls中的所有元素
ls[0] = "a" #对变列表ls中的第一个元素进行修改
ls[3][0] = "a" #对列表ls中第四个元素的第一个元素进行修改
print(lt) #列表lt的第一个元素不变,但第四个元素的第一个元素发生改变
print(ls)
# [1, 2, 3, ['a', 5, 6]]
# ['a', 2, 3, ['a', 5, 6]]ls = [1,2,3,[4,5,6]]
lt = ls.copy()
lt[0] = "a" #对变列表lt中的第一个元素进行修改
lt[3][0] = "a" #对列表lt中第四个元素的第一个元素进行修改
print(lt) print(ls) #列表ls的第一个元素不变,但第四个元素的第一个元素发生改变
# ['a', 2, 3, ['a', 5, 6]]
# [1, 2, 3, ['a', 5, 6]]
深层复制方法
import copy
ls = [1,2,3,[7,"b",9],"a"]
lt1 = copy.deepcopy(ls) #深层复制
lt2 = copy.copy(ls) #浅层复制
ls[3][1] = "abc123" #改变原列表ls中内嵌套列表[7,"b",9] 中的“b”元素。#深层复制的lt1列表对应位置元素不改变,但浅层复制改变。
print(ls)
print("深层复制:",lt1)
print("浅层复制:",lt2)
# [1, 2, 3, [7, 'abc123', 9], 'a']
# 深层复制: [1, 2, 3, [7, 'b', 9], 'a']
# 浅层复制: [1, 2, 3, [7, 'abc123', 9], 'a']
三、元组
1.创建元组
Python的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号,列表使用方括号。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
tup1=('Java','Python','R')
tup2=(1,2,5,6,9)
tup3='a','b','d'
print(tup1)
print(tup2)
print(tup3)
# ('Java', 'Python', 'R')
# (1, 2, 5, 6, 9)
# ('a', 'b', 'd')tup4=()
tup5=(8,) #一个元素时需要加“,”,否则输出不是元组
tup6=(8)
print(tup4)
print(tup5)
print(tup6)
# ()
# (8,)
# 8
2.访问元组
元组可以使用下标索引来访问元组中的值。
tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5, 6, 7 )
print ("tup1[0]: ", tup1[0])
print ("tup2[1:5]: ", tup2[1:5])# tup1[0]: physics
# tup2[1:5]: (2, 3, 4, 5)
3.改变元组
元组中的元素值是不允许修改的,但我们可以对元组进行连接组合。
tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')
# tup1[0] = 100,该操作不对 tup3 = tup1 + tup2
print (tup3)
# (12, 34.56, 'abc', 'xyz')
4.删除元组
元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组。
#删除tup后,tup不存在了
del tup
5.元组运算符
与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。
6.元组索引、截取
因为元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素。
tup7=('java','python','mysql','r','oracle')
print(tup7[1])
print(tup7[-1])
print(tup7[1:4])
# python
# oracle
# ('python', 'mysql', 'r')
7.无关闭分隔符
tup3='a','b','d'
print(tup3)
# ('a', 'b', 'd')
8.元组内置函数
python 字符串%和format_python基础任务二相关推荐
- python 字符串 数字_Python基础教程:数字、字符串
Python 数字 Python 数字数据类型用于存储数值. 数据类型是不允许改变的,这就意味着如果改变数字数据类型得值,将重新分配内存空间. 以下实例在变量赋值时数字对象将被创建: var1 = 1 ...
- python 字符串替换_Python基础教程,第四讲,字符串详解
本节课主要和大家一起学习一下Python中的字符串操作,对字符串的操作在开发工作中的使用频率比较高,所以单独作为一课来讲. 学完此次课程,我能做什么? 学完本次课程后,我们将学会如何创建字符串,以及如 ...
- python字符串解释_python基础之字符串详解
1.Python环境配置: 下载好之后安装,注意勾选环境变量. 2.写python一定要注意代码的缩进. 2.字符串: (1).字符串是从左到右是从0开始索引,从右到左是从-1开始.遵循包前不包后原则 ...
- python 字符串%和format_Python必懂知识点,格式化字符串,到底用.format还是%
第一次听说格式化,是清理电脑磁盘时,以为格式化就是清空一切,重回自由,后来才知道,格式化,是另一种妥协. 以下部分节选自<编写高质量代码:改善Python程序的91个建议>一书,需要该书电 ...
- python print 输出到txt_(Python基础教程之七)Python字符串操作
Python基础教程 在SublimeEditor中配置Python环境 Python代码中添加注释 Python中的变量的使用 Python中的数据类型 Python中的关键字 Python字符串操 ...
- Python 字符串/列表/元组/字典之间的相互转换 - Python零基础入门教程
目录 一.字符串 str 与列表 list 1.字符串转列表 2.列表转字符串 二.字符串 str 与字典 dict 1.字符串转字典 2.字典转字符串 三.列表 list 与字典 dict 1.列表 ...
- Python 字符串 - Python零基础入门教程
目录 一.前言 二.Python 字符串运算符 三.Python 字符串构造 四.Python 字符串截取 五.Python 字符串替换 – replace()方法 六.Python 字符串大小写 七 ...
- python字符串_(Python基础教程之七)Python字符串操作
Python基础教程 在SublimeEditor中配置Python环境 Python代码中添加注释 Python中的变量的使用 Python中的数据类型 Python中的关键字 Python字符串操 ...
- [转载] 把数据对象转成字符串_python入门基础培训教程,Python 字符串学习
参考链接: Python字符串| printable python入门基础培训教程中,字符串的学习即基础又非常重要,如果不能掌握好python字符串,对于以后python课程的学习,将会带来严重的错误 ...
最新文章
- Python+OpenCV实现AI人脸识别身份认证系统(2)—人脸数据采集、存储
- 计算机一级b类论理,计算机一级B论理参考题.doc
- 设计模式 -- (14)中介者模式
- c语言常见错误代码释义,C语言常见错误代码释义解析.doc
- 2013-2014 ACM-ICPC, NEERC, Southern Subregional Contest Problem C. Equivalent Cards 计算几何
- wireshark数据包分析实战 第三、四章
- Spring框架对JDBC的简单封装。提供了一个JDBCTemplate对象简化JDBC的开发
- 编写一个Java程序实现多线程,在线程中输出线程的名字,隔300毫秒输出一次,共输出20次。
- matlab控制图像的边界(margin),subplot的间距(gap)
- Mac好用的文件对比工具Beyond Compare 4
- 用计算机组成原理+唐朔飞的,计算机组成原理(唐朔飞) 课件.ppt
- 重装系统(用U盘+wepe)
- unity导出fbx模型_三维制作内容,maya模型贴图文件导入untiy,烘焙灯光贴图
- 电脑引导,电脑常见开机引导错误的解决方法
- Vscode 与服务器建立远程连接(ssh)
- 陈潭:大数据战略实施的实践逻辑与行动框架
- 不懂就问:PHP浮点数中的e和E分别表示什么?
- Chrome 开发者工具审查元素快捷键
- 安卓支付宝红包密码的图片的处理实践_图文
- 数据库系统概论笔记整理———第一章(绪论之数据库系统,数据模型,外模式,内模式,层次模型,数据独立性等)
热门文章
- CRM Interactive Report的UI设计
- nodejs TCP服务器和客户端通信的socket结构
- UI5 xml view里control id的生成逻辑
- SAP UI5应用入口App.controller.js是如何被UI5框架加载的?
- SAP CRM WebClient UI Sales Area的cancel处理
- 如何从S4HANA的销售订单找到对应的生产订单
- 程序员面试系列之Java单例模式的攻击与防御
- 边缘计算框架_【北大成果】一种集成多组网协议多边缘计算框架的边缘计算处理平台...
- list index out of bounds_python3基础03列表(list)和元组(tuple)
- 英文读法_儿童英语学习-英文字母A