Day7 总结

1.字符串的对象方法

字符串1.count(字符串2) -- 统计字符串1中字符串2出现的次数
字符串1.find(字符串2) -- 返回字符串2在字符串1中第一次出现的下标(0 - len() - 1);找不到返回值-1
字符串1.find(字符串2,start, end) -- 在字符串1指定范围内查找字符串2第一次出现的下标;
字符串.join(序列) - 将序列中元素取出来,中间用指定字符串拼接在一起生成一个新的字符串
max(序列)和min(序列) -- 求序列中的最大值和最小值
字符串.replace(old, new, 替换次数) -- 将字符串中指定的旧字符串全部替换成新的字符串
字符串1.split(字符串2)

str1 = 'ascfvewv12e'
print(str1.index('wv', 0, 10))  # 返回ValueError: substring not found
new_str = '*'.join('abc')
str2 = ''.join(['name', 'age', 'xiao'])
str3 = 'how ar you. fine, thank you'
str4 = str3.replace('you', 'me', 1)

2. 什么是列表

列表是python提供的容器型数据类型(序列),可变、有序
可变(元素的个数、值、顺序可变) -- 支持增删改
有序 -- 支持下标操作

3. 列表数据:[元素1,元素2,元素3, ...]

元素:取值可以是任何数据类型(值、赋值后的变量,除了赋值符之外的其他运算表达式)
不同的元素的类型可以不一样
包括列表、元祖、字典、函数,自己声明的类的对象等数据

4. 列表元素的操作

4.1 查 -- 获取列表中的元素

a. 获取单个元素:
语法:列表[下标] -- 获取列表中指定下标对应的元素(返回值为元素)

b. 获取部分元素(切片):-- 返回值为列表
语法:列表[开始下标: 结束下标 : 步长]

c. 遍历
直接遍历元素:
for 变量 in 序列:
循环体
变量直接取到的是列表中的元素(item)

遍历下标
for index in range(len(names)):
print(names[index])

4.2 增 -- 添加元素

a. 列表.append(元素) -- 在列表中添加一个元素,修改原列表,不会产生新列表
b. 列表.insert(下标,元素) -- 在列表中指定下标前添加指定元素

4.3 删 -- 删除列表中的元素

a. del 列表[下标] -- 删除列表中指定下标对应的元素 下标不能越界
b. 列表.remove(元素) -- 删除列表中指定的元素(如果元素在列表中存在多个,只删除第一个)
如果要删除的元素不存在,程序会报错!
c. 列表.pop() -- 取出列表中最后一个元素
列表.pop(下标) -- 取出列表中指定下标的的元素

4.4 改 -- 修改元素的值

列表[下标] = 新值 -- 修改指定下标对应的元素为新值
注意:下标不能越界

balls = ['乒乓球', '篮球', '足球', '排球']
balls[1] = '羽毛球'
print(balls)
scores = [70, 45, 50, 87, 90, 67, 30, 100]
for index in range(len(scores)):
    if scores[index] < 60:
        scores[index] = '不及格'
print(scores)
names = ['路飞', '鸣人', '佐助', '索罗', 100]
print(names[1])
print(names[-1])
print(names[1:-1])
list2 = names[-1:1]   # 返回值为[]

print(names[:3:-1])   # 返回值为'[100]
print(names[:])       # copy
print(names[::-1])    # 倒着取值
names = ['路飞', '鸣人', '佐助', '索罗']
for name in names:
    print(name)

for index in range(len(names)):
    print(names[index])

补充:isinstance()
"""
isinstance(数据,类型) -- 判断指定的数据是否是指定的类型
"""

练习: 统计一个列表中整型元素的个数

list3 = [23, 78.2, 'asgs', [12, 3], 290]
count = 0
for item in list3:
    if isinstance(item, int):
        count += 1
print(count)
films = ['复联4', '指环王', '绿皮书', '你的名字', '千与千寻']
films.append('肖生克的救赎')
films.insert(2, '沉默的羔羊')
print(films)
del films[1]
films.remove(指环王)
del_value = films.pop()
films.pop(0)

练习:有一个有序的数字列表,输入一个数,将这个数插入到列表中,要求插入后不改变排列方式

nums = [1, 12, 32, 45, 60]
num = int(input('请输入一个数: '))
for index in range(len(nums)):
    if nums[index] >= num:
        nums.insert(index, num)
        break
else:
    nums.append(num)

练习:删除小于60的数据
scores = [70, 45, 50, 87, 90, 67, 30, 100]
坑1:下标越界
解决坑1: 下标从后往前取, 使用while循环控制,不删除的时候+1,删除的时候不变

坑2:直接获取列表元素
解决方法 遍历删除需要考虑这两个坑

scores = [70, 45, 50, 87, 90, 67, 30, 100]
index = 0
while index < len(scores):
    if scores[index] < 60:
        del scores[index]
        continue
    index += 1
print(scores)
scores = [70, 45, 50, 87, 90, 67, 30, 100]
for score in scores[:]:
    if score < 60:
        scores.remove(score)
print(scores)

5.列表运算符

5.1

a. 数学运算:+ *
列表1 + 列表2 -> 将两个列表的元素合并产生一个新的列表

列表 * N -> 将列表中的元素重复N次产生一个新的列表

b. 比较运算:== !=

5.2. in 和 not in

元素 in 列表 -- 判断列表中是否包含指定的元素

5.3. len(列表) -- 获取列表中元素的个数

5.4. list(数据) -- 类型转换,将指定数据转换成列表

所有的序列都可以转换成列表,不是序列不能转换成列表
将序列中的元素作为列表元素

5.5. max / min -- 获取列表中元素的最大值和最小值

max(列表)
min(列表)
注意:列表中元素的类型必须是一样的;数据支持比较运算符

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容

  • 一.day6回顾 1.用''或者""引起来的字符集 2.str - 不可变(不支持增删改),有序(支持下标语法)...
    杨广剑python阅读 139评论 0 0
  • 1.回顾 1.字符串:用''单引号 或者双引号"" 引起来的字符集 2.str - 不可变(不支持增删改),...
    Sun_092b阅读 236评论 0 0
  • 1.格式字符串 在字符串中通过格式 占位符来表示字符串中变化的部分语法:包含格式占位符 % (给格式占位赋值的数据...
    曹琦777阅读 307评论 0 1
  • 字符串(续) 格式字符串 在字符串中通过格式占位符来表示字符串中变化的部分 语法:包含格式占位符的字符 % (给格...
    灬小鱼儿zzZ阅读 88评论 0 0
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,374评论 0 5