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
原文地址:https://www.cnblogs.com/xuanxuanlove/p/9498798.html