(本文仅作为学习记录使用)   感谢太白老师和王sir的谆谆教导.
01 昨日内容回顾

02 作业讲解

03 初识列表

04 列表的切片

05 列表的常用操作

06 列表的嵌套

07 元组

08 range

01 昨日内容回顾

int的话主要考察十进制和二进制的相互转换
注意字符串转bool,只有空值才会输出false,否则的话都是true.就连空格也是true.(bool类型记得首字母大写,即capitalize)
str的话主要是字符串的操作.
常用的字符串如下:
capitalize,swapcase,title,upper,lower,center,format三种用法(用于格式化输出),
isalpha,isdigit,isalnum三兄弟(其实还可以直接判定isupper,islower,所以我怀疑是不是is系列都可以?)
count,startswith和endswith(返回bool值),find,index(find查不到返回-1,index报错.所以find比index好).
isspace(判断是不是都是空格),join(连接作用),strip,rstrip,lstrip(分割,可设定分隔符),split,lsplit,rsplit(清楚制表符空格换位符)
replace(old,new).
for 循环的话,for是有限循环,while是无限循环. for ...else...用法同while. for...in....
此外,注意,if ...in... 有奇效.
链接:https://www.cnblogs.com/smithpath/articles/10474261.html

PS:昨天笔记做的太粗糙.今天补上一些.(大多是王sir的)

补充知识点:
1.查看一个类中所有的可用方法:
[x for x in dir(str) if not x.startswith('_')]
sorted([x for x in dir(str) if not x.startswith('_')])

2.str类中find,index的区别

3.判断开始或者结束字符串的注意事项:
startswith:
endswith:

判断一个文件,是否是jpg格式的图片?
filename后缀有可能大写和小写混用,所以要先统一一下。统一成大写或者小写都可以。

伪代码:
if filename.lower().endswith('.jpg'):
ok

4.切片操作总结:
格式:
[起始值:结束值:顺序和步长]

1.切片的顺序取决于最后一个参数,正数:正序;负数:倒序,默认是正序

2.正序时起始值在结束值右侧,或者倒序时起始值在结束值左侧,都会返回空字符串。
s = 'Hello'
s[3:2:2] -> ''
s[1:3:-2] -> ''
即:切片不会跨越字符串的首尾。
3.正数索引和负数索引可以混用。只要能指到正确的元素即可。


5.总结str类中涉及到从右侧开始的操作:
rfind 从右侧查找
rindex 从右侧查找
rjust 从右侧对齐
rstrip 从右侧删除空白字符
rsplit 从右侧切分
rpartition 从右侧分组



02 作业讲解

# 1.有变量name = "aleX leNb"完成如下操作:
# 1. 移除 name 变量对应的值两边的空格,并输出处理结果
# name = ' aleX leNb '
# # print(name)
# s1 = name.strip()
# print(s1)
# 2. 移除name变量左边的"al"并输出处理结果
# name = 'aleX leNb'
# s2 = name.lstrip('al')
# print(s2)
# 3. 移除name变量右⾯的"Nb",并输出处理结果
# name = "aleX leNb"
# s3 = name.rstrip('Nb')
# print(s3)
# 4. 移除name变量开头的a"与最后的"b",并输出处理结果
# name = 'aleX leNb'
# s4 = name.strip('ab')
# print(s4)
# 5. 判断 name 变量是否以 "al" 开头,并输出结果
# name = 'aleX leNb'
# s5 = name.startswith('al')
# print(s5)
# 6. 判断name变量是否以"Nb"结尾,并输出结果
# name = "aleX leNb"
# s6 = name.endswith('Nb')
# print(s6)
# 7. 将 name 变量对应的值中的 所有的"l" 替换为 "p",并输出结果
# name = 'aleX leNb'
# s1 = name.replace('l','p')
# print(s1)
# 8. 将name变量对应的值中的第⼀个"l"替换成"p",并输出结果
# name = 'aleX leNb'
# s2 = name.replace('l','p',1)
# print(s2)
# 9. 将 name 变量对应的值根据 所有的"l" 分割,并输出结果。
# name = 'aleX leNb'
# s3 = name.split('l')
# print(s3)
# 10.将name变量对应的值根据第⼀个"l"分割,并输出结果。
# name = 'aleX leNb'
# s4 = name.split('l',1)
# print(s4)
# 11.将 name 变量对应的值变⼤写,并输出结果
# name ='aleX leNb'
# s5 = name.upper()
# print(s5)
# 12.将 name 变量对应的值变⼩写,并输出结果
# name = 'aleX leNb'
# s6 = name.lower()
# print(s6)
# 13.将name变量对应的值⾸字⺟"a"⼤写,并输出结果
# name = 'aleX leNb'
# s1 = name.capitalize()
# print(s1)
# 14.判断name变量对应的值字⺟"l"出现⼏次,并输出结果
# name = 'aleX leNb'
# s2 = name.count('l')
# print(s2)
# 15.如果判断name变量对应的值前四位"l"出现⼏次,并输出结果
# name = 'aleX leNb'
# s3 = name.count('l',0,3)
# print(s3)
# 16.从name变量对应的值中找到"N"对应的索引(如果找不到则报错),并输出结果
# name ='aleX leNb'
# s4 = name.index('N')
# print(s4)
# 17.从name变量对应的值中找到"N"对应的索引(如果找不到则返回 - 1)输出结果
# name = 'aleX leNb'
# s5 = name.find('N')
# print(s5)
# 18.从name变量对应的值中找到"X le"对应的索引, 并输出结果
# name = 'aleX leNb'
# s6 = name.find('X le')
# print(s6)
# 19.请输出name变量对应的值的第2个字符?
# name = 'aleX leNb'
# s1 = name[1]
# print(s1)
# 20.请输出name变量对应的值的前3个字符?
# name = 'aleX leNb'
# s2 = name[:3]
# print(s2)
# 21.请输出name变量对应的值的后2个字符?
# name = 'aleX leNb'
# s3 = name[-2:]
# print(s3)
# 22.请输出name变量对应的值中"e"所在索引位置(两个e都找)?
# name = 'aleX leNb'
# s4 = name.find('e',0,4)
# s5 = name.index('e',5,8)
# print(s4,s5)

# 2.有字符串s = "123a4b5c"
# s = "123a4b5c"
# a.通过对s切⽚形成新的字符串s1, s1 = "123"
# s1 = s[0:3]
# print(s1)
# b.通过对s切⽚形成新的字符串s2, s2 = "a4b"
# s2 = s[3:6]
# print(s2)
# c.通过对s切⽚形成新的字符串s3, s3 = "1345"
# s3 = s[::2]
# print(s3)
# d.通过对s切⽚形成字符串s4, s4 = "2ab"
# s4 = s[1:7:2]
# print(s4)
# e.通过对s切⽚形成字符串s5, s5 = "c"
# s5 = s[-1]
# print(s5)
# f.通过对s切⽚形成字符串s6, s6 = "ba2"
# s6 = s[5::-2]
# print(s6)
# g.思考,通过对s切⽚形成新的字符串s7, s7 = "12345"

# 3.使⽤while和for循环分别打印字符串s="asdfer"中每个元素。
# s="asdfer"
# count = 0
# while count < len(s) :
# print(s[count])
# count += 1

# s="asdfer"
# count = 0
# while count < len(s) :
# print(s[count],end = '')
# count += 1

# s="asdfer"
# for i in s :
# print(i)

# s="asdfer"
# for i in s :
# print(i,end='')

# 4.使⽤for循环对s = "asdfer"进⾏循环,但是每次打印的内容都是"asdfer"。
# s = "asdfer"
# for i in s:
# print(s)

# 5.使⽤for循环对s="abcdefg"进⾏循环,每次打印的内容是每个字符加上sb, 例如:asb, bsb,csb,...gsb。
# s="abcdefg"
# for i in s:
# i +='sb'
# print(i)

# s="abcdefg"
# for i in s:
# print(i+'sb')
# 6.使⽤for循环对s = "321"进行循环,打印的内容依次是:"倒计时3秒","倒计时2秒","倒计时1秒","出发!"。
# s = "321"
# for i in s:
# print('倒计时'+i+'秒')
# else :
# print('出发!')

# s = "321"
# for i in s :
# msg = '倒计时%s秒' % (i)
# print(msg)
# else :
# print('出发!')

# s = "321"
# for i in s :
# print('倒计时%s秒' % i)
# print('出发!')

# s = "321"
# for i in s :
# msg = '倒计时{}秒'
# print(msg.format(i))
# else :
# print('出发!')

# 7.实现⼀个整数加法计算器(两个数相加):如:content = input("请输⼊内容:") ⽤户输⼊:5 + 9或5 + 9或5 + 9,
# 然后进⾏分割再进⾏计算。
# content = input("请输⼊内容:")
# x = content.split('+')
# s = 0
# for i in x :
# s += int(i.strip())
# print(s)

# add = 0
# content = input("请输入内容: ").replace(" ", "")
# for i in content.split("+"):
# add += int(i)
# print(add)

# content = input("请输⼊内容:")
# l1 = content.split('+')
# s = 0
# for i in l1:
# if i.strip().isdigit():
# s += int(i)
# else:
# print('抱歉,不是数字无法计算')
# break
# else:
# print(s)


# 8.升级题:实现⼀个整数加法计算器(多个数相加):如:content = input("请输⼊内容:")
# ⽤户输⼊:5 + 9 + 6 + 12 + 13,然后进⾏分割再进⾏计算。
# content = input("请输⼊内容:")
# x = content.split('+')
# s = 0
# for i in x :
# s += int(i.strip())
# print(s)

# 9.计算⽤户输⼊的内容中有⼏个整数(以个位数为单位)。
# 如:content = input("请输⼊内容:") # 如fhdal234slfh98769fjdla
# s = 0
# content = input("请输⼊内容:")
# for i in content:
# s += int(i.isdigit())
# print(s)

# 10.写代码,完成下列需求:(升级题)
# ⽤户可持续输⼊(⽤while循环),⽤户使⽤的情况:输⼊A,则显示⾛⼤路回家,然后在让⽤户进⼀步选择:
# 是选择公交⻋,还是步⾏?选择公交⻋,显示10分钟到家,并退出整个程序。
# 选择步⾏,显示20分钟到家,并退出整个程序。
# 输⼊B,则显示⾛⼩路回家,并退出整个程序。
# 输⼊C,则显示绕道回家,然后在让⽤户进⼀步选择:是选择游戏厅玩会,还是⽹吧?
# 选择游戏厅,则显示 ‘⼀个半⼩时到家,爸爸在家,拿棍等你。’并让其重新输⼊A,B, C选项。
# 选择⽹吧,则显示‘两个⼩时到家,妈妈已做好了战⽃准备。’并让其重新输⼊A,B, C选项。
# while True :
# home = input('请选择回家路线:\nA.大路\nB.小路\nC.绕道回家\n您的选择是:')
# if home.lower() == 'a' :
# print('走大路回家')
# x = input('请选择交通工具\nA.公交车\nB.步行\n您的选择是:')
# if x.lower() == 'a' :
# print('10分钟后到家')
# else :
# print('20分钟后到家')
# break
# elif home.lower() == 'b' :
# print('走小路回家')
# break
# else :
# print('绕道回家')
# x = input('请选择娱乐方式\nA.游戏厅\nB.网吧\n您的选择是:')
# if x.lower() == 'a' :
# print('⼀个半⼩时到家,爸爸在家,拿棍等你。')
# if x.lower() == 'b':
# print('两个⼩时到家,妈妈已做好了战⽃准备。')
# continue

# 11.写代码:计算 1 - 2 + 3 ... + 99 中除了88以外所有数的总和?
# count = 0
# s = 0
# while count < 99 :
# count += 1
# if count != 88 :
# s += (-1)**(count + 1) * count
# print(s)

# s = 0
# for i in range(0, 100):
# if i == 88 :
# continue
# s += i * (-1) ** (i + 1)
# print(s)
# 12.判断⼀句话是否是回⽂.回⽂: 正着念和反着念是⼀样的.例如, 上海⾃来⽔来⾃海上(升级题)
# 法一:
# s = input('请输入内容:')
# s1 = s[-1::-1]
# if s1 == s:
# print('回文')
# else:
# print('不是')

# 法二:
# s = input('请输入内容:')
# flag = True
# x = 0
# while x < len(s) / 2:
# if s[x] != s[len(s) - 1 - x]:
# flag = False
# break
# x += 1
# if flag:
# print('回文')
# else:
# print('不是')
# 13.输⼊⼀个字符串,要求判断在这个字符串中⼤写字⺟,⼩写字⺟,数字, 其它字符共出现了多少次,并输出出来
#法一:
# s = input('请输入内容:')
# count1 = 0 # 数字
# count2 = 0 # 大写
# count3 = 0 # 小写
# for i in s:
# if i.isdigit():
# count1 += 1
# if i in s.upper():
# if i.isalpha():
# count2 += 1
# if i in s.lower():
# if i.isalpha():
# count3 += 1
# count4 = len(s) - count1 - count2 - count3 # 其他字符
# print(
# ('''⼤写字⺟出现了%s次,,⼩写字⺟出现了%s次,
# 数字出现了%s次,其它字符出现了%s次''') % (count2, count3, count1, count4))

# 法二:
# count_upper = 0
# count_lower = 0
# count_digit = 0
# count_other = 0
# s = input('请输入内容:')
# for x in s:
# if x.isdigit():
# count_digit += 1
# elif x.isupper():
# count_upper += 1
# elif x.islower():
# count_lower += 1
# else:
# count_other += 1
# print(
# '''⼤写字⺟出现了{}次,,⼩写字⺟出现了{}次,
# 数字出现了{}次,其它字符出现了{}次'''.format(count_upper, count_lower, count_digit, count_other))

# 14.制作趣味模板程序需求:等待用户输入名字、地点、爱好,
# 根据⽤户的名字和爱好进⾏任意现实如:敬爱可亲的xxx,最喜欢在xxx地⽅⼲xxx
# user = input('请输入名字:')
# place = input('请输入地点:')
# hobby = input('请输入爱好:')
#
# msg='敬爱可亲的{},最喜欢在{}地方干{}'.format(user,place,hobby)
# print(msg)

PS:太白老师做的:
# day03作业及默写
# Day03作业及默写
# 1.有变量name = "aleX leNb" 完成如下操作:
# 1. 移除 name 变量对应的值两边的空格,并输出处理结果
# 2. 移除name变量左边的"al"并输出处理结果
# 3. 移除name变量右⾯的"Nb",并输出处理结果
# 4. 移除name变量开头的a"与最后的"b",并输出处理结果
# 5. 判断 name 变量是否以 "al" 开头,并输出结果
# 6. 判断name变量是否以"Nb"结尾,并输出结果
# 7. 将 name 变量对应的值中的 所有的"l" 替换为 "p",并输出结果
# 8. 将name变量对应的值中的第⼀个"l"替换成"p",并输出结果
# 9. 将 name 变量对应的值根据 所有的"l" 分割,并输出结果。
# 10. 将name变量对应的值根据第⼀个"l"分割,并输出结果。
# 11. 将 name 变量对应的值变⼤写,并输出结果
# 12. 将 name 变量对应的值变⼩写,并输出结果
# 13. 将name变量对应的值⾸字⺟"a"⼤写,并输出结果
# 14. 判断name变量对应的值字⺟"l"出现⼏次,并输出结果
# 15. 如果判断name变量对应的值前四位"l"出现⼏次,并输出结果
# 16. 从name变量对应的值中找到"N"对应的索引(如果找不到则报错),并输出结果
# 17. 从name变量对应的值中找到"N"对应的索引(如果找不到则返回-1)输出结果
# 18. 从name变量对应的值中找到"X le"对应的索引,并输出结果
# 19. 请输出 name 变量对应的值的第 2 个字符?
# 20. 请输出 name 变量对应的值的前 3 个字符?
# 21. 请输出 name 变量对应的值的后 2 个字符?
# 22. 请输出 name 变量对应的值中 "e" 所在索引位置(两个e都找)?
# name = "aleX leNb"
# first_index = name.find('e')
# second_index = name.find('e',first_index+1,)

# 2.有字符串s = "123a4b5c"
# a. 通过对s切⽚形成新的字符串s1,s1 = "123"
# b. 通过对s切⽚形成新的字符串s2,s2 = "a4b"
# c. 通过对s切⽚形成新的字符串s3,s3 = "1345"
# d. 通过对s切⽚形成字符串s4,s4 = "2ab"
# e. 通过对s切⽚形成字符串s5,s5 = "c"
# f . 通过对s切⽚形成字符串s6,s6 = "ba2"
# 3.使⽤while和for循环分别打印字符串s="asdf er"中每个元素。
# 4.使⽤for循环对s="asdfer"进⾏循环,但是每次打印的内容都是"asdfer"。
# s="asdfer"
# for i in s:
# print(s)

# 5.使⽤for循环对s="abcdefg"进⾏循环,每次打印的内容是每个字符加上sb, 例如:

# asb, bsb,csb,...gsb。
# s="abcdefg"
# for i in s:
# # print(i,type(i))
# print(i + 'sb')

# 6.使⽤f or循环对s="321"进⾏循环,打印的内容依次是:"倒计时3秒","倒计时2
# 秒","倒计时1秒","出发!"。
# s = '321'
# for i in s:
# print('倒计时%s秒'%i)
# print('出发!')

# s = 'qrewrewrdfdsa'
# for i in s:
# print(i)
# if i == 'W':
# break
# else:
# print(666)

# s = '太白金星'
# for i in s:
# continue
# print(i)



# 7.实现⼀个整数加法计算器(两个数相加):
# 如:content = input("请输⼊内容:") ⽤户输⼊:5+9或5+ 9或5 + 9,然后进⾏分
# 割再进⾏计算。
# 方法一:
# content = input("请输⼊内容:").strip()
# plus_index = content.find('+')
# # 5 + 9
# first_num = content[:plus_index] # '5 '
# second_num = content[plus_index+1:] # ' 9'
#
# Sum = int(first_num) + int(second_num)
# print(Sum)
# print(int(' 5 '),type(int(' 5 ')))

# 方法二
# content = input("请输⼊内容:").strip()
# li = content.split('+') # ['13 ', ' 26']
# first_num = li[0]
# second_num = li[1]
# Sum = int(first_num) + int(second_num)
# print(Sum)

# 8.升级题:实现⼀个整数加法计算器(多个数相加):
# 如:content = input("请输⼊内容:") ⽤户输⼊:5+9+6 +12+ 13,然后进⾏分割
# 再进⾏计算。
# 9.计算⽤户输⼊的内容中有⼏个整数(以个位数为单位)。
# 如:content = input("请输⼊内容:") # 如f hdal234slf h98769f jdla
# 10.写代码,完成下列需求:(升级题)
# ⽤户可持续输⼊(⽤while循环),⽤户使⽤的情况:
# 输⼊A,则显示⾛⼤路回家,然后在让⽤户进⼀步选择:
# 是选择公交⻋,还是步⾏?
# 选择公交⻋,显示10分钟到家,并退出整个程序。
# 选择步⾏,显示20分钟到家,并退出整个程序。
# 输⼊B,则显示⾛⼩路回家,并退出整个程序。
# # 输⼊C,则显示绕道回家,然后在让⽤户进⼀步选择:
# # 是选择游戏厅玩会,还是⽹吧?
# # 选择游戏厅,则显示 ‘⼀个半⼩时到家,爸爸在家,拿棍等你。’并让其重新输⼊
# # A,B,C选项。
# # 选择⽹吧,则显示‘两个⼩时到家,妈妈已做好了战⽃准备。’并让其重新输⼊
# # A,B,C选项。
# 11.写代码:计算 1 - 2 + 3 ... + 99 中除了88以外所有数的总和?
# 12.判断⼀句话是否是回⽂. 回⽂: 正着念和反着念是⼀样的. 例如, 上海 ⾃来⽔来⾃海上
# (升级题)
# 13. 输⼊⼀个字符串,要求判断在这个字符串中⼤写字⺟,⼩写字⺟,数字, 其它字符
# 共出现了多少次,并输出出来
# 14.制作趣味模板程序需求:等待⽤户输⼊名字、地点、爱好,根据⽤户的名字和爱好进
# ⾏任意现实 如:敬爱可亲的xxx,最喜欢在xxx地⽅⼲xxx
# 明⽇默写内容:
# 分别⽤while,f or循环输出字符串s = input("你想输⼊的内容")的每⼀个字符。

03 初识列表

为什么要有列表?
  首先要说明字符串的缺点:
    1.只能存取少量数据;
    2.类型太单一,无论引号里面是什么,''一下全都是字符串了.
于是产生了能克服上述缺点的列表.
列表是以中括号组成,每个元素以逗号隔开的,容器型数据类型。是一个有序的可以存储大量的数据的数据类型。
js中称之为数组,在Python中我们叫他列表.

什么时候用到列表?
  当程序需要你构建一个容器型数据并且按照顺序存储的时候,你要用到list.

04 列表的切片

对于list 的切片.
有: list[:3] list[::2] list[-1:2:3]等多种写法,看需求.
demo1:
l1 = ['萧峰','虚竹','段誉','张无忌']
print(l1[0])
print(l1[:2])

  诸如此类,这点同str型.

只不过字符串类型是不改变原字符,而list做过切片后会改变(除非自己也贴标签).

注意,不要顾头不顾腚.

如果需要倒叙取值时候有:

demo2:
print(l1[-1:-4:-1])

  


05 列表的常用操作
常用操作是list 的增删改查和其他操作.

list的增加:
有三种:
  1.append:追加
  2.insert:插入
  3.extend:迭代添加
举例如下:
demo3:
l1 = ['萧峰','虚竹','段誉','张无忌'] l1.append('赵敏') print(l1) l1.insert(2,'傻妞') print(l1) l1.extend(['赵敏,周芷若','小昭','阿离']) print(l1)
 
注意,extend要添加列表. 不能只是字符串写入.
注意,iterable -- 可迭代对象(字符串、列表、元组、字典).所以说,extend不能对int下手.(不要傻乎乎地什么都迭代)

list的删除:
list删除一般分为三种:
  1.pop:按索引删除.
  2.remove:按元素删除.
  3.clear:全部清除.
同字符串一样,list.pop('2')
诸如此类.

除此之外,删除还有del.
del放在list前操作.
del操作分为3中:
  1.按索引删除.
  2.切片删除.
  3.删除list.
demo4:
l1 = ['萧峰','虚竹','段誉','张无忌']
l1.pop(3)
print(l1)
print(l1.pop(3))
print(l1)


l1.remove('张无忌')
print(l1)

l1.clear()
print(l1)

l1 = ['萧峰','虚竹','段誉','张无忌']
del l1[-1]
print(l1)
del l1[-2]
print(l1)

del l1[1:]
print(l1)

del l1[1::2]
print(l1)

del l1[-1::-1]
print(l1)

del l1
print(l1)

  

list的改:

  1.改某个元素.

  2.切片改.

注意,按照切片改并且步长发生变化的话,必须一一对应(改多少写多少)

如果是连在一起的话(即步长为1或者-1),无所谓(可以添加进去).

demo5:
l1 = ['萧峰','虚竹','段誉','张无忌']
l1[0] = '丐帮帮主'
print(l1)
切片改
l1[:3] ='郭靖黄蓉一代大侠'
print(l1)# 只能一个字符一个字符导入?
l1[0:3:2]=['天下无贼']
print(l1)#报错是因为超出.
l1[0:3:2]=['天下']
# print(l1)#报错是因为不能用[]
l1[0:3:2]='天下'
print(l1)#缺多少就补充多少,不能多.用步长的话只能这样
list的查询:
  1.按照索引.
  2.按照切片.
  3.for循环查询.
demo6:
l1 = ['萧峰','虚竹','段誉','张无忌']
for i in  l1:
     print(i)#遍历
print(l1[1])

  其他操作:

index(通过元素查索引),

reserve(反转list排序),

len(计算list元素个数)

sort(按顺序排列list)等.

注意,sort里面可以用reserve. 即 list.sort(reserve = True)

demo7:
# l1 = ['无sir', 'alex', '太白', 100, 5]
# for i in range(0, len(l1)):
#         print(i)

# len,index,
# l1 = ['','武松','老虎','武松','武松','老虎','laohu']
# print(len(l1))
# print(l1.count('武松'))
# print(l1.count('laohu'))
# print(l1.index('武松'))
# print(l1.index('武松1'))#报错

# l1 = ['','武松','老虎','武松','武松','老虎','laohu']
# l1.sort()
# print(l1)

l1 = [0,13,434141,432,532,41321,425]
# l1.sort()
# print(l1)
# l1.sort(reverse = True)
# print(l1)
# l1.reverse()
# print(l1)

06 列表的嵌套

列表嵌套的话见作业.
主要是找出位置.
有2种表示方法:
  1.s[2][3][1]等. 诸如此类,依次查找.
  2.a = s[2]. b = a[3]. 不断赋值.
python常用的数据类型,工作中,都是涉及到嵌套的列表居多.

07 元组

只读列表。
是python中基础数据类型之一,容器型数据类型,存储大量的数据。
(),里面的元素以,隔开的数据类型。
(1, '太白', [1,2,3],True, {'name': 'alex'}, (22,33))
其他语言中,没有元组的概念。
元组是不可以进行修改的,只能查询。
元组中存储的都是重要的数据,个人信息等等。

应用:
如果你想存储一些重要的数据,这些数据只读,不能修改,那么你就放到元组中。

据说不常用.

08 range
内置函数,python给你提供的一个功能。
将range视为:可控制范围的数字列表。

比如for i in range(100)
range要注意.

PS:
  1.str中:
    msg = [-1:-4:-1] 反向加步长. 步长不写默认为1.
  2.注意,pop操作的话能够输出.(经试验其他不行,会返回空值)
  
    del和其他删除的不一样. del 位于前面,
 
    列表中的元素放在等号左边表示位置.
 
    若要找列表中的小列表里的元素,用[][].
  3.True在元组中显示为1.

  4.IndexError: list index out of range的错误原因:
  第1种可能情况:
  list[index]index超出范围
  所
以这道题需要减1.

  第2种可能情况

  list是一个空的 没有一个元素 .  进行list[0]就会出现该错误

 
 
  5.index后面不要加中括号!!!!!!!
  
  6.想让list竖直打印很简单,遍历一次即可.
 
  7.注意区分方法名和类名.



 
posted on 2019-03-05 22:13  流云封心  阅读(262)  评论(0编辑  收藏  举报