python学习第二篇,,一:三元运算1 re


一:三元运算

1 result = 1 if a>0 else 2

三元运算先判断 if后的语句是否成立,像上面代码如果a>0则 result = 1 ,不是则result = 2。

二:string与bytes相互转换

1 name = "我的名字叫雷锋"2 print(name)3 print(name.encode(encoding="utf-8"))#将name表示的"我的名字叫雷锋"转换为bytes4 print(b‘\xe6\x88\x91\xe7\x9a\x84\xe5\x90\x8d\xe5\xad\x97\xe5\x8f\xab\xe9\x9b\xb7\xe9\x94\x8b‘.decode())

先把字符串转化为bytes(默认为utf-8)

之后把bytes解码为字符串

三:列表

1.列表定义及输出

1 name = ["唐三藏","孙悟空","猪八戒","沙和尚","白龙马"]2 print(name)    #输出name中所有的数据3 print(name[0])  #输出name这个列表下标为0的数据,“唐三藏”4 print(name[1:3])  #输出name中下标1-3不包括3的数据即[‘孙悟空‘, ‘猪八戒‘](顾头不顾尾)5 print(name[-1])   #输出最后一个数据6 print(name[-2:])  #输出最后两个值7 print(name[-2:-1]) #输出倒数第二个值(顾头不顾尾)
8 print(name[0:-1:2]) #从下标为0的数据输出致最后一个,步长为2(三个值都可以缺省)

2.:列表修改

name = ["唐三藏","孙悟空","猪八戒","沙和尚","白龙马"]name.append("观世音")#追加一个值name.insert(1,"六耳猕猴")#将六耳猕猴插入列表中下标为1的位置name[4] = "卷帘将军"#将下标为4的位置改为“卷帘将军”name.remove("孙悟空")#将孙悟空在列表中删除del name[1]#将下标为1的数据在列表中删除a = name.pop(1)#删除并返回下标为1的数据b = name.index("白龙马")#找到并返回第一个值为白龙马的下标c = name.count("唐三藏")#统计列表中值为“唐三藏”数据的个数print(name,a,b,c)name.clear()#清空列表中的数据print(name)

3.列表合并

num = [1,2,3,4]num2 = [5,6,7,8]num.extend(num2)#将num2中的数据添加到numprint(num,num2)

4.列表复制

1 name = [0,1,2,[3.1,3.2],4,5,[6.1,6.2]]2 name2 = name.copy()   #将name中储存的数据复制一份给name23 print(name,‘\n‘,name2)4 print(‘-------------------------------‘)5 name[0] = 106 name[6] = 607 name[3][0] = 308 print(name,‘\n‘,name2)

结果如下图

技术分享图片

可以看出name2复制了name的数据(即对name更改不会对name2产生影响)

列表中还可以嵌套列表但是列第一层列表中存放的是指向下一层列表存放位置的指针不是数据本身

而name2复制的也是name中存放的指针,所以对也就是name[3]和name2[3]都是存放的指向[3.1,3.2]这个列表的指针,更改name[3][0]进行更改也就是通过指针对子列表进行更改

所以name2的输出数据也会受影响

name[6]=60则是将name[6]中的指针改为了60,子列表不受影响,name2输出也就不受影响

四:元组

不能修改只能查,又称为只读列表

元组定义:

num = (1,2,3,4)

五:字符串常用函数

1.

name = ‘my name is \tjack‘print(name.capitalize())  #首字母大写print(name.count(‘a‘)) #统计字符串中a的数量print(name.center(10,‘+‘)) #打印10个字符将name的值放在中间,不够用+补齐print(name.endswith(‘ck‘)) #判断字符串是不是由ck结尾print(name.expandtabs(20)) #将一个\t转化为20个空格print(name.find(‘name‘)) #返回name所在的位置 找不到返回-1print(name[1:6]) #切片输出,输出1-6的元素information = ‘{name1} is {age1} years old‘print(information.format(name1 = ‘jack‘,age1 = 20))print(information.format_map({‘name1‘:‘jack‘,‘age1‘:‘20‘})) #使用字典print(name.index(‘name‘)) #返回name所在的位置 找不到抛出异常

结果如下

技术分享图片

2.

print(‘aa‘.isalpha()) #判断是不是纯英文字符print(‘+‘.join([‘1‘,‘2‘,‘3‘,‘4‘])) #将列表变为字符串,以+为间隔符print(‘abcd‘.ljust(50,‘+‘)) #50个长度不够右侧用+作为占位符print(‘abcd‘.rjust(50,‘-‘)) #50个长度不够左侧用-作为占位符print(‘Jack‘.lower()) #返回小写print(‘Jack‘.upper()) #返回大写p=str.maketrans(‘abcdefg‘,‘1@/*+5%‘) #两个字符串一一对应,指定字符转化规则print(‘fog‘.translate(p)) #‘fog’按照p这个规则进行加密print(‘jack jone‘.replace(‘j‘,‘J‘,2)) #将字符串中的j改为J转换两个(缺省为全部替换)print(‘1+2+3+4‘.split(‘+‘,2)) #将+号作为分隔符返回列表值,执行2次(缺省为全部)print(‘Jone Jack‘.swapcase()) #大小写反转print(‘jone jack‘.title()) #转换为标题样式

结果如图:

技术分享图片

六:字典

1.

data = {‘student1‘:‘jack‘,‘student2‘:‘joker‘,‘student3‘:‘jone‘}print(data[‘student1‘]) #字典没有顺序也没有下标,取值通过keydata[‘student1‘] = ‘sam‘ #修改student1的值data[‘student4‘] = {‘amy‘:11} #增加一个值可以是字符串、字典、列表、元组data[‘student5‘] = [‘jack‘,‘linda‘]data[6] = (1,2,3,4)print(data)del data[6] #删除data.pop(‘student5‘) #删除print(data)print(data.get(‘student5‘)) #根据key查找并返回,找不到返回None同(if ‘student5‘ in data:  else)print(data.values()) #打印所有值print(data.keys()) #打印所有key

技术分享图片

2.

a = {‘a‘:1,‘b‘:2}b = {‘a‘:7,‘c‘:3}a.update(b) #用b作为参数更新a(key重复替换,不重复增加)print(a)print(a.items()) #将a变为列表,元素变为元组

技术分享图片

python学习第二篇

评论关闭