Python学习笔记——day2——基础知识

一、列表

1.标志

(1)列表简介

列表是python语言最通用的序列之一,是一个任意类型对象及其位置的相关有序集合,没有固定的大小,其大小和包含的对象是可变的。
归纳列表的特征
列表中的每一个元素都是可变的;
列表中的元素是有序的;
列表可以容纳python中的任何对象。

(2)列表的标志

在python中列表常用“[ ]”,将不同类型的对象组合成python中的列表;同时也可以通过list()函数将其他类型的序列转化为列表。

2.基本操作(创建,append(),pop(),del(),拷贝)

(1)列表的创建

创建列表的一般形式是:变量名=[ ],因此列表的创建就是用" [ ] "对对象进行引用。

(2)列表元素的添加方法

方法一:使用insert()方法在列表中插入任意对象,且每次只能插入一个对象。insert()函数可以自定义对象插入的位置,且插入对象的实际位置是指定位置元素之前的位置;如果指定插入位置在列表中不存在,即超出指定列表长度则这个元素一定会被放到列表最后的位置。
示例:

fruit=["apple","banana"]
fruit.insert(1,"oranges")
print(fruit)

在这里插入图片描述
方法二:使用append()方法在列表末尾添加任意对象,也只能插入一个对象。
示例:

fruit=["apple","banana"]
fruit.append(["oranges","pear"])
print(fruit)

在这里插入图片描述
方法三:采用列表位置索引的方法插入任意对象于列表中,一次也仅能插入一个对象,但插入后对象的数据类型可能会发生变化,例如原本是列表,插入后变为列表中单个的字符串,因此想在一个列表输出结果中插入多个对象,可以选择此方法插入列表,元祖等序列来实现(可以与方法一,方法二作比较)。
示例:

fruit=["apple","banana"]
fruit[1:1]=(("oranges","pear"))
print(fruit)

在这里插入图片描述
方法四:使用extend()方法在列表末尾一次性增加另一个序列中多个对象的值,即用新列表来扩展原来的列表,与方法三的作用类似,不过方法三可以指定添加位置。
示例:

fruit=["pinapple","apple","banana","pear","grape"]
vegetable=['tomato','potato']
fruit.extend(vegetable)
print(fruit)

在这里插入图片描述

(3)列表元素的删除方法

方法一:使用remove()方法移除列表中的第一个匹配项,若想成功移除列表中的对象,在括号中必须正确填写所要移除对象的名称及类型。
示例:

fruit=["pinapple","apple","banana","pear","grape"]
fruit.remove("apple")
print(fruit)

在这里插入图片描述
方法二:采用del()函数移除列表中指定位置的多个对象,注意使用时与remove()等方法的使用方式不同。注意采用del()方式可以删除整个列表,且列表删除后无法访问。
示例:

fruit=["pinapple","apple","banana","pear","grape"]
del(fruit[1:2])
print(fruit)

在这里插入图片描述
方法三:采用pop()方法可以移除列表指定位置的对象并返回被删除对象的值,注意该方法默认值为列表中的最后一个元素且有返回值。
示例:

fruit=["pinapple","apple","banana","pear","grape"]
fruit.pop()
print(fruit)
print(fruit.pop())
fruit.pop(2)
print(fruit)

在这里插入图片描述

(4)列表元素的替换方法

列表元素的替换与修改主要通过对列表中的对象进行索引,赋值的方法,将原来位置的对象替换成新的对象。
示例:

fruit=["pinapple","apple","banana","pear","grape"]
fruit[2:4]=("tomato","potato")
print(fruit)

在这里插入图片描述

3.列表其他方法

(1)列表的操作函数

函数 作用
len(list) 列表元素的个数
max(list) 返回列表元素的最大值
min(list) 返回列表元素的最小值
list(seq) 将元祖转化为列表

注意:在python3中cmp()函数已经被以下函数所取代,输入cmp()进行比较时会报错。
在这里插入图片描述
示例:

import operator
fruit=["pinapple","apple","banana","pear","grape"]
vegetable=["tomato","potato",'eggplant']
print(operator.gt(fruit,vegetable))
print(operator.ge(fruit,vegetable))
print(operator.eq(fruit,vegetable))
print(operator.le(fruit,vegetable))
print(operator.lt(fruit,vegetable))

在这里插入图片描述

(2)列表中的操作方法

方法 说明
list.reverse( ) 反向列表中的元素
list.count( ) 统计元素在列表中出现的次数
list.sort( cmp=none,key=none,reverse=false) 对原列表进行排序

示例:

fruit=["pinapple","apple","banana","pear","grape"]
fruit.sort(reverse=False)
print(fruit)

在这里插入图片描述

二、元祖

1.标志

(1)元祖的定义及定义

元祖用来将多样的对象组合在一起,与列表十分相似,但是元祖中对象不可以改变。元祖通过圆括号中用逗号分隔的项目定义。

(2)元祖的适用范围

元祖通常用在使语句或用户定义的函数能够安全的采用一组值时,即被使用的元祖的值不会改变。

2.基本操作(创建及不可变性)

(1)元祖的创建

与列表类似,元祖(tuple)的创建可以通过赋值的方式,可以将元祖当做一个容器,任何数据类型都可以放在这个容器中,定义单个元祖一定要在这个元素后加逗号,因此需要注意的是区分元祖类型的不是圆括号而是逗号

(2)基本操作

由于元祖的不可变性,因此对于元祖的操作较少,仅包含索引查询等操作,可见示例。
示例:

number=(1,2,3,4,5)
number=(1,2,3,4,5)
float=(1.1,2.3,3.4)
print(len(number),len(float))
a=(1,)
print(a)
print(number[2])
print(float[1:])float=(1.1,2.3,3.4)
print(len(number),len(float))
a=(1,)
print(a)

在这里插入图片描述

三、string字符串

1.定义及基本操作(+,*,读取方式)

(1)字符串的定义

由零个或多个字符组成的有限串行(来自维基百科);或者更明白地说字符串就是在“xxxx”或者‘xxxx’(在双引号或单引号之间的文字),对于过长的文字需要换行时,需要用’’‘xxx’’'或者""“xxx”""(三引号进行引用,两种格式都正确)。需要注意的是字符串对象是不可以改变的。
实例:

(2)字符串的连接

方法一:用“+”对字符串进行连接操作(连接双方必须均为字符串,字符串与其他数据类型不能用“+”进行连接)。
示例(代码及运行结果):

what_he_does=" plays"
his_instrument=" guitar"
his_name="Robert"
artist_intro=his_name+what_he_does+his_instrument
print(artist_intro)

在这里插入图片描述
方法二:将字符串与其他数据类型连接,可以采用字符串格式化的方法,会在关于字符串格式化的内容中详细介绍。或者采用str()——将其他数据类型转化为字符串型,int()——将其他数据类型转化为整型,等方法将不同数据类型转化为同一数据类型。
示例:

a=1
b='2'
c=a+int(b)
print(c)

在这里插入图片描述

(3)字符串的复制

方法一:字符串的单次复制。利用赋值的方法将字符串由一个变复制到另一个变量中。
方法二:通过“*”实现字符串的成倍复制。
示例:

a="words"
num=3
b=a*(len(a)-num)
print(b)

在这里插入图片描述

(4)字符串的索引(读取)、分片

字符串可以通过 “字符串变量名[X]” 的方式进行索引,分片。如下图所示,字符串的位置编码如图所示(正向从0开始,逆向从-1开始),空格也占位。
字符串的分片 “a[n:m]” ,其中n<m,得到的字符是从a[n]到a[m-1],这一点在分片时需要特别注意!!!
在这里插入图片描述
示例:

a="friend"
b="vaild"
find_evil_in_ab=a[3]+b[0]+b[-3:-1]
print(find_evil_in_ab)

在这里插入图片描述

2.字符串相关方法

(1)字符的大小写转化

1>常见的命名方法

详细请看:命名规范
匈牙利命名法:开头字母用变量类型的缩写,其余部分用变量的英文或英文的缩写,要求单词第一个字母大写。
驼峰命名法:分为小驼峰法(第一个单词首字母小写,后面其他单词首字母大写)和大驼峰法(每个单词的第一个字母都大写)。
帕斯卡命名法:命名类似于大驼峰法。

2>利用内置函数进行大小写转化

函数 作用
S.upper() S中的字母全部大写
S.lower() S中的字母全部小写
S.capitalize() 首字母大写
S.istitle() S中单词的首字母是否大写
S.isupper() S中的字母是否全部大写
S.islower() S中的字母是否全部小写

示例(注意S.istitle()的用法):

a="python,pycharm"
b=a.capitalize()
print(b)
print(b.istitle())
c="Python,Pycharm"
print(c.istitle())

在这里插入图片描述

(2)去掉字符串两头的空格

函数 作用
S.strip() 去掉字符串左右两边的空格
S.lstrip() 去掉字符串左边的空格
S.rstrip() 去掉字符串右边的空格

示例:

a=" hello "
print(a.strip())
b=" world "
c=b.lstrip()
d=b.rstrip()
print(c)
print(d)

在这里插入图片描述

(3)其他较为常见方法

字符串的替换:S.replace(xx,xx)——常用于电话号码的隐藏
字符串的长度:len()
示例:

telephone_number="138-4561-7894"
a="*"
hiding_number=telephone_number.replace(telephone_number[:9],a*9)
print(hiding_number)

在这里插入图片描述

四、字符串格式化问题

1.字符串的格式化

(1)占位符

占位符就是占住某一个位置等你往里面添加内容的符号。在python中规定了一些占位符来说明哪个位置应该填写什么类型的对象,常用的占位符有:“%s”——字符串占位符;“%d”——整数占位符;“%f”——浮点型占位符。
示例:

his_name="xiao ming"
what_he_dooe_1=" pays for a car"
what_he_dooe_2=" using"
money= 500000
danwei=" RMB"
the_thing=his_name+what_he_dooe_1+what_he_dooe_2+" "+"%s"%money+danwei
print(the_thing)

在这里插入图片描述

(2)格式化字符串

python中字符串格式化操作符(“%”)只适用于字符串类型,格式化的形式为:将格式化的变量放到字符串中,再紧跟一个%,再紧跟一个变量名即可。需要注意的是想要在字符串中通过格式化字符放入多个变量时,需要将变量放到圆括号中,且用逗号隔开。
示例:

x="there are %d types of people"%10
a="binary"
b="don't"
y="those who knows %s and those who %s"%(a,b)
print(x)
print(y)

在这里插入图片描述

(3)format()函数的作用

format()通过{ }来代替%

1>填充作用

方法一:通过位置填充;
方法二:通过关键字填充;
方法三:通过下表填充。
示例:

print('hello {} and {}'.format('kate','mark'))
name=['kate','mark']
print('hello {name[0]} and {name[1]}'.format(name=name))
print('hello {name1} and {name2}'.format(name1="kate",name2="mark"))

在这里插入图片描述

2>格式转换

在这里插入图片描述

3>对齐与填充

在这里插入图片描述