Python ——元组,字典、字符串、文件读写

一、元组也是一种列表。并且是不可以改变列表类型。

可变类型和不可变类型。举个栗子:

a = 1 

b = 2

b = a 

print(‘第一次b的值:’,b)

a=2

print('第二次b的值:‘,b)

答案是:第一次的值:1,第二次的值:1

变量a,b的值是可以通过重新赋值的方式改变。

而元组的特点就是:一旦定义好,就不能再变了。

cities = ('beijing','shanghai')   

print(cities[0])
print(cities.count('beijing'))          #元组可以计算元素出现的次数 
print(cities.index('beijing'))          #元组可以查看元素第一次出现的顺序。

二、字符串也是一旦定义好,就不能修改了,除非重新对他赋值。举个栗子

str=“abcDEFabc”

str = str.replace('abc','  ')

print(str)

结果是:abcDEFabc

str= str.replace('abc','  ')      如果换成:str1= str.replace('abc','  ')   再把打印str1就出来

切片:就是一种取值的方式。可以用于列表和字符串。下面是列表的切片取值方法

先构造一个list:

string模块里面包含几个方法,可以导入string模块:

import string

num = list(string.digits)       实现的是把一组数字的字符串转化为一个list

print(num)                           打印列表的全部内容

print(num[::-1])                    第二个冒号后面值代表步长,是隔几个元素取一次,步是负数的话,从右往左开始取值

print(num[:3])                      顾头不顾尾,如果开始的下标不写的话,那么就是从最前面开始

print(num[-1])                      -1代表最后一个元素

print(num[1:])                      如果后面下标不写的话,代表取到最后

print(num[:])                        开头的下标和结尾的下标都不写的话,代表取整个list

 有一个有趣儿的小代码(一)

a = [1,1,2,3,4,5,6,78]

b=a[:]

for i in b:

      if i%2==0:

          a.remove(i)

print a             #输出的是1,1,3,5

但是如果代码调整一下。结果就会不一样

a = [1,1,2,3,4,5,6,78]

for i in a:

      if i%2==0:

          a.remove(i)

print a           #输出的是 [1, 1, 3, 5, 78]

列表是按下标去找元素的,当满足条件的被删除以后下,标就是又重新编号了,而循环还是按原来的顺序进行。

再来一个测验题:不能引入第三方变量的情况下,把这个两个值交换。

a= 1 b=2

[方法]1

a = a+b    #3=1+2

b=a-b      #1=3-2

a = a-b

【方法】2

b,a=a,b

二、字典

字典中的元素是以键值对的方式存储的。元素的存取是无序的。比如:

shenyang = { 'name':'沈阳',
'age':18,
'sex':'不知道',
'addr':'天通苑',
'qq':19823423,
'email':'[email protected]',
}

可以对字典进行增删改查操作

增:

shenyang[“女朋友”]="漂亮"

shenyang.setdefult('age',18)                #setdefault这种方式,如果key已经存在,不管它,如果key不存在的话,就新增。

改:

shenyang[“女朋友”]="很漂亮"

删: 

shenyang.pop("女朋友”)                     #通过key的方式删除,如果key不存在,会报错

del shenyang[age]                              通过这个方式删除,如果key不存在,不会报错

查:

shenyang['name']

shenyang.get("name",“沈阳”)

shenyang.pop[name']                           

shenyang.clear()  #清空字典

shenyang.popItem["’]

yaoyuan = {'chouyan':'1包','name':'姚远'}

shenyang.update(yaoyuan)                #把一个字典加入到另外一个字典里面

遍历字典的方法:

for k,v in shenyang.iteams():

        print(k,v)

高效循环字典的方法:

for i in  shenyang:

         pring(i,i.get(i))               #根据key去获取对应的value

三、字符串

字符串的常用方法如下:

name = “the apple”

name.captalize()               #把字符串的首字母大写

name.center(100,'-')         #字符居中。‘,’前面表示填充后真个字符串的长度。‘,‘后面表示使用哪种符号填充。

name.index('a' )                #a在字符串中第一次出现的下标号,找不到下标的时候会报

name.isalnum()                 #字符串只能有数字或是字母

name.isalpha()                  #判断是否只为英文,汉字也可以

name.count(‘p’)                 #查询出现的次数

name.endwith('.jpg')          #判断字符串是否以xx结尾

name.startwith('a')             #判断字符串是否以xx开头

name.upper()                     #全变成大写的

name.lower()                     #全变成小写的

name.find('a')                    #查找xx的个数,没有找到不会报错,返回-1

name.isdigit()                    #判断是否为纯数字

name.isspace()                 #判断是否全都是空格

name. strip()                     #去掉字符串两边的东西,默认是去掉两边的空格和换行符 

name.lstrip()                     #只去掉左边的

name.rstrip()                     #只去掉右边的

name.replace(‘ap’,‘pea’)# 替换字符串,把前面的替换为后面的

name.zfill(2)                     #在前面补0

a="abc,def,ghi,jkl'

print(a.split(','))                #1、分隔字符串2、把字符串变成一个list3、默认是按空格或者换行符分隔。

stu=['123','456','789']        

print('-'.join(stu)              #1、把list拼接成字符串 2、以某个字符串连接

字符串的一些方法包含在string模块中。使用前先导入。

import string

string.ascii_letters          #所有的大写+小写字母

string.ascii_lowercase   #所有的小写字母

string.ascii_uppercase   #所有的小写字母

string.digits                     #所有的数字

string.punctuation           #所有的特殊字符

print(name[1])                 #字符串也是可以根据下标来取值的

猜你喜欢

转载自www.cnblogs.com/caopeiyang/p/9142816.html