python切片作为占位符使用实例讲解

(编辑:jimmy 日期: 2024/12/26 浏览:2)

我们提到切片的时候,一般想到的大多数是分割列表。其实它还可以对列表进行拼接,想必这点是很多人不知道的,这就是切片的占位符用法。留在原列表中,占据位置的同时起到拼接的作用。下面我们就切片和占位符的用法分别进行理解,然后带有切片作为占位符使用的实例代码。

1、切片说明

切片既可以作为独立对象被“取出”原序列,也可以留在原序列,作为一种占位符使用。

2、占位符的使用

拼接字符串的方法,其中三种格式化类的拼接方法(即 %、format()、template)就是使用了占位符的思想。对于列表来说,使用切片作为占位符,同样能够实现拼接列表的效果。特别需要注意的是,给切片赋值的必须是可迭代对象。

3、实例

li = [1, 2, 3, 4]

# 在头部拼接
li[:0] = [0] # [0, 1, 2, 3, 4]

# 在末尾拼接
li[len(li):] = [5,7] # [0, 1, 2, 3, 4, 5, 7]

# 在中部拼接
li[6:6] = [6] # [0, 1, 2, 3, 4, 5, 6, 7]

# 给切片赋值的必须是可迭代对象
li[-1:-1] = 6 # (报错,TypeError: can only assign an iterable)
li[:0] = (9,) # [9, 0, 1, 2, 3, 4, 5, 6, 7]
li[:0] = range(3) # [0, 1, 2, 9, 0, 1, 2, 3, 4, 5, 6, 7]

上述例子中,若将切片作为独立对象取出,那你会发现它们都是空列表,即 li[:0]==li[len(li):]==li[6:6]==[] ,我将这种占位符称为“纯占位符”,对纯占位符赋值,并不会破坏原有的元素,只会在特定的索引位置中拼接进新的元素。删除纯占位符时,也不会影响列表中的元素。

Python占位符使用总结

myName=input('Enter your name:')
userAge=input('Enter your age:')
userHight=input('Enter your hight:')
jobPosition=input('Enter your position:')
phoneNum=input('Enter your telephone')

print('\n\n\nName is %s'%(myName))
print('Age is %d'%(int(userAge)))
print('Hight is %s'%(float(userHight)))
print('Job is %s'%(jobPosition))
print('Telephone is %s'%(int(phoneNum)))
print("string=%-6s" %string) # 输出的打印结果为 string=good (当字符串的长度小于6时,在字符串的右侧填补空格,使得字符串的长度为6)
 
#小数点后的数字表示截取的字符串长度

print("string=%.3(6)s" %string) # 输出的打印结果为 string=goo(good)(%.3s的意思是:截取字符串的前3个字符,当截取字符串的字符长度大于字符串时,输出的结果是整个字符串)

print("string=%a.bs" %string) # 先是根据小数点后面的数字b截取字符串,当截取的字符串长度小于a时,需要在字符串的左侧填补空格,使得字符串的长度变为a

print("string=%*.*s" %(6, 3, string)) # %*.*s表示精度, 两个*的值分别由%string前面被两个逗号隔开的数值来指定

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。