python学习笔记-day04 元组
元组操作
元组:是不可变列表,可以查询,可以切片,但是不能修改(儿子不可以改,孙子可能可以修改)
元组不能添加,删除,修改,只可以查询;
tu=(1,2,3,'haha',[2,3,'xuanxuan'],'xixi') print(tu[3]) tu[4][2]=tu[4][2].upper() #把元组中的元素(儿子)列表中的xuanxuan(孙子元素)全部变大写 print(tu)
S.join(iterable)方法:可以作用于可迭代对象iterable,元素之间使用S连接(S需为字符串)
s='xuanxuan' print(' '.join(s)) #使用空格连接字符串s print('_*'.join(s)) #使用_*连接字符串s
运行结果:
x u a n x u a n
x_*u_*a_*n_*x_*u_*a_*n
由于join方法可以作用于任何可迭代对象,所以我们可以尝试连接列表这个可迭代对象中的元素:
L=['1','2','3','4','xuanxuan'] print(type('_*'.join(L))) #类型是str字符串类型 print('_*'.join(L)) #作用于可迭代对象L中的元素,使用_*连接元素,返回的是str类型
运行结果:
<class 'str'> 1_*2_*3_*4_*xuanxuan
但是一定要注意:join()方法返回的类型是str类型的!!
再看一个例子:
L=['xuan','keke','xixi','haha'] print(''.join(L))
运行结果:
xuankekexixihaha
其实你可以发现原来L是一个列表,使用join()方法之后可以转化成str类型的!!!
小结(字符串和列表之间的转换):
str-->list: 使用split()方法
s='x u a n x u a n' print(s.split(' ')) print(type(s.split(' ')))
运行结果:
['x', 'u', 'a', 'n', 'x', 'u', 'a', 'n'] <class 'list'>
list->str: 使用join()方法:
L=['xuanxuan','is','a','good','girl'] print(type(''.join(L))) print(''.join(L))
运行结果:
<class 'str'> xuanxuanisagoodgirl
range方法
产生一个list对象:顾头不顾尾;
参数就是所要产生列表的范围,还可以设置步长,就是隔多少产生一个数字;
还可以倒着产生数:
for i in range(10,0,-2): print(i)
运行结果:10,8,6,4,2
如果是:
for i in range(0,10,-2): print(i)
这是一道面试题,结果会输出什么?
什么也不输出,不会报错!但绝对不是10,9,8,,,1
一定要注意:
正着取,左边索引<右边索引,并且步长为正值;
倒着取,左边索引>右边索引,并且步长为负值;
这一点跟list索引正着取,反着取值的道理是一样的~
['x', 'u', 'a', 'n', 'x', 'u', 'a', 'n']<class 'list'>
talk is cheap,show me the code