Python之路Day4


今日大纲
1.列表
1.1 列表的切片、索引
1.2 列表的增、删、改、查
1.3 列表的其他操作方法
2.元组
2.1 元组的切片、索引
2.2 元组的操作方法
3.range


1.列表
1.1 列表的索引、切片
li = [123, '老男孩', True, [1, 2, 3], {'name': 'alex'}, (1, 2, 3)]
列表为容器型数据类型,可存储任意数据类型,且元素取出后仍然为原数据类型

1.1.1 列表的索引
print(li[0])
print(li[-1])
1.1.2 列表的切片,步进
print(li[0:3])
print(li[:-1])
print(li[::2])
print(li[-1::-1])
1.2 列表的增、删、改、查
1.2.1 增
方法一:append 追加
l1.append("abc")
print(l1)
l1.append(134)
print(l1)
l1.append([11,12,34])
print(l1)
例题:录入姓名,当选择Q或q时,退出系统
l1 = ['wusir',  'alex', 'laonanhai', 'ritian', 'taibai']
while True:
    name = input("请输入姓名:").strip()
    if name.upper() == 'Q':
        break
    else:
        l1.append(name)
        print("%s已录入成功!"% (name))
print(l1)
执行结果:
请输入姓名:张召忠
张召忠已录入成功!
请输入姓名:q
['wusir', 'alex', 'laonanhai', 'ritian', 'taibai', '张召忠']
方法二:insert 插入
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
l1.insert(1,"孙悟空")
print(l1)

方法三:extend 迭代着追加,加入的是被迭代对象的最小元素
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
l1.extend("abc")
print(l1)
执行结果:
['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai', 'a', 'b', 'c']
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
l1.extend([11,13,"abc"])
print(l1)
['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai', 11, 13, 'abc']
1.2.2 删
方法一:pop 根据索引删除值,有返回值,即删除的值
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
print(l1)
rel = l1.pop(1)
print(rel)
print(l1)
方法二:remove 根据值删除
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
l1.remove(True)
print(l1)

方法三:clear 清空列表
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
l1.clear()
print(l1)

方法四:del
(1)从内存级别删除
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
del l1
print(l1)

(2)根据索引删除
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
del l1[1]
print(l1)

(3)根据切片删除
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
del l1[0:3]
print(l1)

1.2.3 改
(1) 按照索引去改
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
l1[0] = "孙悟空"
print(l1)

(2) 按照切片去改,先将切片的区域内的内容全部删除,在迭代着添加内容。
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
l1[0:3] = "abcd"
print(l1)
执行结果:
['a', 'b', 'c', 'd', 'laonanhai', 'ritian', 'taibai']

l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
l1[0:4] = [11,12,14,"abc"]
print(l1)
执行结果:
[11, 12, 14, 'abc', 'ritian', 'taibai']

1.2.4 查
(1)按照索引、切片去查
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
print(l1[1:3])
(2)按照for循环遍历列表
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
for item in l1:
    print(item)
    
1.3 列表的其他操作

len() 列表中有多少个元素
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
print(len(l1))

count 列表中某元素出现的次数
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
print(l1.count(True))
index 通过元素找索引
l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
print(l1.index("taibai",0,))
sort 对列表进行排序
li = [1,3,2,9,4,5,6]
li.sort()  #正序
print(li)
li.sort(reverse=True) #反序
print(li)
reverse 列表翻转
li = [1,2,9,4,5,6]
li.reverse()
print(li)

1.4 列表的嵌套
l1 = ['wusir', 'alex', [99, ' taibai', '98'], 21]
(1) 将wusir变成全部的大写。
l1 = ['wusir', 'alex', [99, ' taibai', '98'], 21]
l1[0] = l1[0].upper()
print(l1)
(2) 将‘taibai'变成首字母大写,其他字母小写,放回原处。
l1 = ['wusir', 'alex', [99, ' taibai', '98'], 21]
l1[2][1] = l1[2][1].strip().capitalize()
print(l1)
(3) 用数字的相加将99 变成 字符串的 '100'.
l1 = ['wusir', 'alex', [99, ' taibai', '98'], 21]
l1[2][0] = str(l1[2][0] + 1)
print(l1)
(4) 字符串的'98' 变成数字的100.
l1 = ['wusir', 'alex', [99, ' taibai', '98'], 21]
l1[2][2] = int(l1[2][2]) + 2
print(l1)

2.元组
2.1 元组的索引、切片
元组:只读列表 只能查询,不能增删改
tu = (11, 22, 33, 44, 55)

索引,切片,步长
tu = (11, 22, 33, 44, 55)
print(tu[1:3])
print(tu[-1::-1])
for循环遍历元组
tu = (11, 22, 33, 44, 55)
for item in tu:
    print(item)
  
2.2 元组的操作
2.2.1 方法
len 元组中有多少个元素
tu = (11, 22, 33, 44, 55)
print(len(tu))
count 元组中某元素出现的个数
tu = (11, 22, 33, 22, 55)
print(tu.count(22))
index 查询某元素的索引
tu = (11, 22, 33, 44, 55)
print(tu.index(22,0,))

2.2.2 元组中的一级元素不可增删改,但二级元素可以增删改
tu = ('wusir', 'alex', [22, 44, 'taibai'],)
tu[-1].append("abc")
print(tu)

tu = ('wusir', 'alex', [22, 44, 'taibai'],)
del tu[-1][0]
print(tu)

tu = ('wusir', 'alex', [22, 44, 'taibai'],)
tu[-1][-1] = "孙悟空"
print(tu)

3.range
range 可以当做自定义的数字列表,满足顾头不顾尾的原则,可以加步长,常与for循环结合使用

例1:打印1到100
for i in range(1,101):
    print(i)
例2:打印0到100的偶数
for i in range(0,101,2):
    print(i)
例3:打印10到1
for i in range(10,0,-1):
    print(i)
例4:打印该列表的索引
l1 = [22, 33, 33, 33, 66, 77, 88, 99]
for i in range(len(l1)):
    print(i)
例5:依次打印列表中每一个元素,包括内部嵌套列表中的每一个元素
l1 = ['wusir', 'alex', [99, ' taibai', '98'], 21]
for i in l1:
    if type(i) == list:
        for v in i:
            print(v)
    else:
        print(i)

 

posted on 2018-05-02 16:50  Y易然R  阅读(107)  评论(0)    收藏  举报

导航