'''
【课程3.1】序列通用操作
序列分为str list tuple
通用操作
可变且有序 list
不可变且有序 str tuple
'''
'\n【课程3.2】 序列通用操作\nstr list tuple dict(set)\n可变且有序 list \n不可变且有序 str tuple\n可变且无序dict(set)\n同时含有key和value对 dict\n'
lst = [ 1 , 2 , 3 , 4 , 5 , 6 ]
a, b= 1 , 9
print ( a in lst)
print ( b not in lst)
True
True
lst1 = [ 1 , 2 , 3 ]
lst2 = [ 'a' , 'b' , 'c' ]
print ( lst1+ lst2)
lst1. append( lst2)
print ( lst1)
print ( lst1* 3 , lst2* 2 )
[1, 2, 3, 'a', 'b', 'c']
[1, 2, 3, ['a', 'b', 'c']]
[1, 2, 3, ['a', 'b', 'c'], 1, 2, 3, ['a', 'b', 'c'], 1, 2, 3, ['a', 'b', 'c']] ['a', 'b', 'c', 'a', 'b', 'c']
lst = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ]
print ( lst[ 0 ] , lst[ 2 ] , lst[ 9 ] )
print ( lst[ - 1 ] )
1 3 0
0
lst = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ]
print ( lst[ 0 : 5 : 2 ] )
print ( lst[ : 8 : 3 ] )
print ( lst[ 1 : : 4 ] )
[1, 3, 5]
[1, 4, 7]
[2, 6, 0]
lst = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ]
print ( len ( lst) )
print ( max ( lst) , min ( lst) , sum ( lst) )
print ( lst. index( 3 ) )
lst = [ 1 , 1 , 2 , 3 , 3 , 4 , 4 , 4 , 4 , 5 , 6 ]
print ( lst. count( 4 ) )
10
9 0 45
2
4
'''
小作业
① x=[1,2,3,1,[1],[1,1]],请问x.count(1)为多少?
② x=[1,2,5,1,“1”,“1”],请问x.count(1)为多少?
③ y=[45,67,89,45,34,22,1],请问y.index(45)等于多少?
④ 创建一个列表,用type函数判断list[1]和list[2:5]的区别
ans
① 2
② 2
③ 0 注返回第一个下标
④ list[1]是该元素的类型 list[2:5]切片产生子list类型依然为list
'''
'\n小作业\n① x=[1,2,3,1,[1],[1,1]],请问x.count(1)为多少?\n② x=[1,2,5,1,“1”,“1”],请问x.count(1)为多少?\n③ y=[45,67,89,45,34,22,1],请问y.index(45)等于多少?\n④ 创建一个列表,用type函数判断list[1]和list[2:5]的区别\n\nans\n① 2 \n② 2\n③ 0 注返回第一个下标\n'
lst1 = [ 1 , 2 , 3 , 'a' , 'b' , 'c' , [ 1 , 2 , 3 ] ]
lst2 = [ 143 , 56 , 894 , 67 , 43 ]
print ( lst2[ 0 ] , lst2[ 4 ] , lst2[ - 1 ] )
lst3 = lst3 * 3
print ( lst3)
lst4 = [ 1 , 2 , [ 'a' , 'b' ] ]
lst5 = [ 100 , 101 , 102 ]
lst5[ 0 ] = 10
print ( lst5)
143 43 43
'''
小作业
① [1,2,3]和[“1”, “2”, “3”]什么区别
② 创建一个列表,包括3个人的数学成绩100,89,78
③ 创建一个列表,包括5个中国城市名称
④ 现有一个列表name = ['小明', '小红'] ,增加“团支书”的名字上去
⑤ 现有一个列表m=[3.1,5.5,4,3,77,8],用print分别输出第2、4个元素
'''
''
'''
answer
① 1是int,'1'是string
②lst1=[100,89,78]
③ 同上
④ lst.append('团支书')
⑤ print(m[1],m[3])
'''
"\nanswer\n① 1是int,'1'是string\n②lst1=[100,89,78]\n③ 同上\n④ lst.append('团支书')\n⑤ print(m[1],m[3])\n"
lst= list ( range ( 9 ) )
print ( lst)
[0, 1, 2, 3, 4, 5, 6, 7, 8]
'''
小作业
① range()生成的是不是都是整数?
② 创建一个range,用type()函数查看其类型
③ 哪种方式书写正确:x=range(5), x=range(4:7), x=range(4,8)
④ 创建一个range,用print输出其值,看一下输出结果
⑤ 用list()函数,将一个range范围变为列表
⑥ m=range(10),请问m[2],m[-1],m[5]是多少
'''
''
'''
小作业
① 是
② range
③ 2
④
⑤
⑥ 2 9 5
'''
'\n小作业\n① 是\n② range\n③ 2\n④ \n⑤ \n⑥ 2 9 5\n'
lst= list ( range ( 10 ) )
lst. append( 'hello' )
print ( lst)
lst. append( [ 'a' , 'b' , 'c' ] )
print ( lst)
lst. extend( [ 'a' , 'b' , 'c' ] )
print ( lst)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'hello']
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'hello', ['a', 'b', 'c']]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'hello', ['a', 'b', 'c'], 'a', 'b', 'c']
lst = [ 'Jack' , 'Jack' , 'Tom' , 'Tracy' , 'Alex' , 'White' ]
lst. remove( 'Jack' )
print ( lst)
del lst[ 3 : 5 ]
print ( lst)
lst. clear
print ( lst)
['Jack', 'Tom', 'Tracy', 'Alex', 'White']
['Jack', 'Tom', 'Tracy']
['Jack', 'Tom', 'Tracy']
lst= list ( range ( 10 ) )
print ( lst)
lst. insert( 3 , 'a' )
print ( lst)
lst. insert( 5 , [ 1 , 2 , 3 ] )
print ( lst)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 'a', 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 'a', 3, [1, 2, 3], 4, 5, 6, 7, 8, 9]
lst = list ( range ( 10 ) )
lst1 = lst
lst1[ 2 ] = 'hello'
print ( lst, lst1)
lst1 = [ 12 , 45 , 32 , 98 , 45 , 66 , 3 ]
lst2 = [ "asd" , "cxv" , "ghv" ]
lst1. sort( )
lst2. sort( )
print ( lst1, lst2)
lst1. sort( reverse= True )
lst2. sort( reverse= True )
print ( lst1, lst2)
lst3 = sorted ( lst1)
lst3. append( 'hello' )
print ( lst1, lst3)
[3, 12, 32, 45, 45, 66, 98] ['asd', 'cxv', 'ghv']
[98, 66, 45, 45, 32, 12, 3] ['ghv', 'cxv', 'asd']
[98, 66, 45, 45, 32, 12, 3] [3, 12, 32, 45, 45, 66, 98, 'hello']
tup1 = ( 'physics' , 'chemistry' , 1997 , 2000 ) ;
tup2 = ( 1 , 2 , 3 , 4 , 5 ) ;
tup3 = "a" , "b" , "c" , "d"
print ( tup1[ 2 ] , tup3[ : 2 ] )
print ( len ( tup1) )
print ( tup1 + tup2)
print ( tup4 * 3 )
print ( max ( tup2) , min ( tup2) , sum ( tup2) )
print ( sorted ( tup2) )
lst1= list ( tup1)
tup1= tuple ( lst1)
print ( lst1, tup1)
1997 ('a', 'b')
4
('physics', 'chemistry', 1997, 2000, 1, 2, 3, 4, 5)
(1, 2, 5, 1, 2, 5, 1, 2, 5)
5 1 15
[1, 2, 3, 4, 5]
['physics', 'chemistry', 1997, 2000] ('physics', 'chemistry', 1997, 2000)
"""
小作业
① 分别用append、extend方法,给一个序列增加一个元素1
② x.append([1,2,3])和x.extend([1,2,3])的区别
③ x.append('abc')和x.extend('abc')的区别
④ 创建某一列表,在列表中间插入一个值
⑤ 创建一个随机数值列表,按照降序排列
⑥ sort()和sorted()什么区别
⑦ s=[32,45,63,12,45,89,77], s.remove(45), del s[2], s.pop(4)分别什么区别
⑧ m=[4,5,6,73,4,4,4,4,2],删除2,删除所有的4
"""
"\n小作业\n① 分别用append、extend方法,给一个序列增加一个元素1\n② x.append([1,2,3])和x.extend([1,2,3])的区别\n③ x.append('abc')和x.extend('abc')的区别\n④ 创建某一列表,在列表中间插入一个值\n⑤ 创建一个随机数值列表,按照降序排列\n⑥ sort()和sorted()什么区别\n⑦ s=[32,45,63,12,45,89,77], s.remove(45), del s[2], s.pop(4)分别什么区别\n⑧ m=[4,5,6,73,4,4,4,4,2],删除2,删除所有的4\n"
lst = [ 1 , 2 , 3 ]
lst. append( 1 )
print ( lst)
lst. extend( [ 1 ] )
print ( lst)
[1, 2, 3, 1]
[1, 2, 3, 1, 1]
[1, 2, 3, 1, 1, '1', '2', '3', '123']
lst = [ 1 , 2 , 3 ]
lst. extend( [ 1 , 2 , 3 ] )
lst. append( [ 1 , 2 , 3 ] )
print ( lst)
[1, 2, 3, 1, 2, 3, [1, 2, 3]]
lst = [ 1 , 2 , 3 ]
lst. extend( '123' )
lst. append( '123' )
print ( lst)
[1, 2, 3, '1', '2', '3', '123']
s= [ 32 , 45 , 63 , 12 , 45 , 89 , 77 ]
y= s. remove( 45 )
print ( s, y)
s= [ 32 , 45 , 63 , 12 , 45 , 89 , 77 ]
del s[ 2 : 5 : 2 ]
print ( s)
s= [ 32 , 45 , 63 , 12 , 45 , 89 , 77 ]
x= s. pop( 4 )
print ( s, x)
"""
注
remove()输入为要删除的数值而不是index,且无返回值
del 输入为删除的index且可以起点终点步长的方式删除
pop()出栈 输入为index且返回此值
"""
[32, 63, 12, 45, 89, 77] None
[32, 45, 12, 89, 77]
[32, 45, 63, 12, 89, 77] 45
'\n注\nremove()输入为要删除的数值而不是index,且无返回值\ndel\n'
'''
【课程3.3】 文本序列str常用操作
字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串
字符串也是序列:文本序列
'''
'\n【课程3.3】 文本序列str常用操作\n\n字符串是 Python 中最常用的数据类型。我们可以使用引号(\'或")来创建字符串\n字符串也是序列:文本序列\n\n'
str1 = "abc"
str2 = 'abc'
str3 = 'my name is "fatbird"'
str4 = '''hello! how are you?
I`m fine, thank you.'''
print ( '\'' , "\"" )
print ( 'hello\nhow do you do?' )
print ( '/' )
print ( '\\' )
print ( r'\n' )
' "
hello
how do you do?
/
\
\n
print ( 'a' in 'abc' )
print ( 'a' + str ( 2 ) )
print ( '2' * 32 )
st = 'abcdefg'
print ( st[ 2 ] , st[ - 1 ] )
print ( st[ : 2 ] )
print ( st[ : : 2 ] )
print ( st. index( 'g' ) )
print ( 'st长度为:' , len ( st) )
print ( 'st长度为:' , str ( len ( st) ) )
True
a2
22222222222222222222222222222222
c g
ab
aceg
6
st长度为: 7
st长度为: 7
st = "i am handsome"
st2 = st. replace( 'handsome' , "smart" )
print ( st)
print ( st2)
st = 'hahaha'
st2 = st. replace( 'ha' , 'he' , 2 )
print ( st)
print ( st2)
st = "poi01,116.446238,39.940166"
lst= st. split( ',' )
print ( lst)
lst = [ 'poi01' , '116.446238' , '39.940166' ]
m = '-'
st = m. join( lst)
print ( st)
print ( m)
st = 'abcdefg'
print ( st. startswith( 'a' ) , st. endswith( 'f' ) )
st = 'aBDEAjc kLM'
print ( st. upper( ) )
print ( st. lower( ) )
print ( st. swapcase( ) )
print ( st. capitalize( ) )
st= '1529'
print ( st. isnumeric( ) )
st= 'gfg'
print ( st. isalpha( ) )
st = ' avd '
print ( st. lstrip( ) )
print ( st. rstrip( ) )
print ( st. strip( ) )
i am handsome
i am smart
hahaha
heheha
['poi01', '116.446238', '39.940166']
poi01-116.446238-39.940166
-
True False
ABDEAJC KLM
abdeajc klm
AbdeaJC Klm
Abdeajc klm
True
True
avd
avd
avd
x= 4
y= 'hehe'
z= 4.2
print ( 'this is %i' % x)
print ( 'this is %s' % y)
print ( 'this is %f' % z)
this is 4
this is hehe
this is 4.200000
m= 3.151526
print ( "m = %f" % m)
print ( "m = %.2f" % m)
m = 3.151526
m = 3.15
m= 10.6
print ( 'm = %.0f,%i' % ( m, m) )
m = 11,10
m= 134.345456
n= - 2334.45
print ( "m = %+.2f" % m)
print ( "n = %.2f" % n)
m = +134.35
n = -2334.45
m= 134.345456
print ( "m = % .2f" % m)
print ( "m = % ++ .2f" % m)
print ( "m = % .2f" % - 0.22225648 )
m = 134.35
m = +134.35
m = -0.22
m = 123.123123123
print ( "have fun %.2e" % m)
print ( "have fun %.4E" % m)
have fun 1.23e+02
have fun 1.2312E+02
m1= 344444444444444.4345452515262552626
m2= 23.2
print ( "have fun %g" % m1)
print ( "have fun %g" % m2)
have fun 3.44444e+14
have fun 23.2
print ( '{}{:2f}{:d}' . format ( 'a' , 2.3696559 , 5 ) + '\n' +
'{1}{2}{1}{1}' . format ( '2' , '3' , 0 ) )
a2.3696565
3033
print ( "我的工作是{work}" . format ( work = '设计' ) )
我的工作是设计
x= '2324{}'
a= x. format ( '52656' )
print ( x, a)
2324{} 232452656
print ( "{:f}" . format ( 4.123 ) , '\n' ,
"{:.2f}" . format ( 4.123 ) , '\n' ,
"{:e}" . format ( 4.123 ) , '\n' ,
"{:.0f}" . format ( 99.9 ) , '\n' ,
"{:%}" . format ( 4.123 ) , '\n' ,
"{:d}" . format ( 10 ) )
4.123000
4.12
4.123000e+00
100
412.300000%
10
"""
小作业
① 三引号创建一个有提行的文本,print()函数输出
② 申明一个字符串变量,值为一个文件路径,注意操作习惯
③ 以下输出分别是多少:33+"22"; 33+int("22"); "22" + str(55);
④ m=“a,b,c”,m.split()会输出什么结果?(不加",")
⑤ 再回想一下:.split和.join的输出分别是什么类型的数据
⑥ 如果我想打%怎么办?
⑦ 这样书写正确吗,为什么? print("abc%s") % "nn"
⑧ 这样书写正确吗,为什么? print(245%f % 123)
⑨ "我的工作是…我喜欢…" 把…替换成正确的内容
"""
'\n小作业\n① 三引号创建一个有提行的文本,print()函数输出\n② 申明一个字符串变量,值为一个文件路径,注意操作习惯\n③ 以下输出分别是多少:33+"22"; 33+int("22"); "22" + str(55); \n④ m=“a,b,c”,m.split()会输出什么结果?(不加",")\n⑤ 再回想一下:.split和.join的输出分别是什么类型的数据\n⑥ 如果我想打%怎么办?\n⑦ 这样书写正确吗,为什么? print("abc%s") % "nn"\n⑧ 这样书写正确吗,为什么? print(245%f % 123)\n⑨ "我的工作是…我喜欢…" 把…替换成正确的内容 \n'
"""
2三种方法
3错 55 2255
4['a,b,c']不进行切片当作一大片放入list
5
str.split in:str out:list
str2=str.join(list1) in str list1 out str2
6
print('sdse%%d%% %i'%2)
out:
sdse%d% 2
连续两个%输出一个%
7不正确%'nn'要放在print()里
print("abc%s"% "nn")
8不正确 第一个%x要在print('')的''里
print("245%f" % 123)
9
print('我的工作是%s我喜欢%s'%('程序员','成为技术大佬'))
"""
"\n2三种方法\n\n3错 55 2255\n\n4['a,b,c']不进行切片当作一大片放入list\n\n5\nstr.split in:str out:list\nstr2=str.join(list1) in str list1 out str2\n\n6\nprint('sdse%%d%% %i'%2)\nout:\nsdse%% 2\n连续两个%\n\n"