'''
【课程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"