我们提到切片的时候,一般想到的大多数是分割列表。其实它还可以对列表进行拼接,想必这点是很多人不知道的,这就是切片的占位符用法。留在原列表中,占据位置的同时起到拼接的作用。下面我们就切片和占位符的用法分别进行理解,然后带有切片作为占位符使用的实例代码。
1、切片说明
切片既可以作为独立对象被“取出”原序列,也可以留在原序列,作为一种占位符使用。
2、占位符的使用
拼接字符串的方法,其中三种格式化类的拼接方法(即 %、format()、template)就是使用了占位符的思想。对于列表来说,使用切片作为占位符,同样能够实现拼接列表的效果。特别需要注意的是,给切片赋值的必须是可迭代对象。
3、实例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
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占位符使用总结
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
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前面被两个逗号隔开的数值来指定
|
到此这篇关于python切片作为占位符使用实例讲解的文章就介绍到这了,更多相关python切片如何作为占位符使用内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://www.py.cn/jishu/jichu/23813.html