列表和元组

课程回顾
1. 什么是列表

列表是一个可变的数据类型
列表由[]来表示, 每一项元素使用逗号隔开. 列表什么都能装. 能装对象的对象.
列表可以装大量的数据
2. 列表的索引和切片
列表和字符串一样. 也有索引和切片. 只不过切出来的内容是列表
索引的下标从0开始
[起始位置:结束位置:步长]

3. 列表的增删改查*
1. 增加
append() 追加
insert(index, 元素) 在index位置添加元素
extend() 迭代添加
2. 删除
pop(index) 按照位置删除元素
remove(元素) 直接删除元素
del 切片.
clear() 清空列表
3. 修改
索引修改
切片修改
4. 查询
for el in list:
el
5. 常用操作
1. sort() 排序 reverse=True降序
2. reverse() 翻转
3. len() 求长度
4. 列表的嵌套
降维. 一层一层看

5. 元组
只读列表. 只能看啥也不能干.
使用()表示元组
如果元祖中只有一个元素(元素, )
空元组: tuple()
元组是一个可迭代对象, 可以使用for循环

6. range
range(n) 从0到n-1
range(m,n) 从m到n-1
range(m,n,q) 从m到n-1 每q个取1个
综上就是切片

习题
1
# li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
# 1)计算列表的长度并输出
# print(len(li)) # 5

# 2)列表中追加元素"seven",并输出添加后的列表
# li.append("seven")
# print(li) #['alex', 'WuSir', 'ritian', 'barry', 'wenzhou', 'seven']

# 3)请在列表的第1个位置插⼊入元素"Tony",并输出添加后的列表
# li.insert(0, "Tony")
# print(li) #['Tony', 'alex', 'WuSir', 'ritian', 'barry', 'wenzhou']

# 4)请修改列表第2个位置的元素为"Kelly",并输出修改后的列表
# li[1] = "Kelly"
# print(li) #['alex', 'Kelly', 'ritian', 'barry', 'wenzhou']

# 5)请将列表l2=[1,"a",3,4,"heart"]的每⼀个元素添加到列表li中,⼀⾏代码实现,不允许循环添加。
# li.extend([1, "a", 3, 4, "heart"])
# print(li)

# 6)请将字符串s = "qwert"的每⼀个元素添加到列表li中,⼀⾏代码实现,不允许循环添加。
# li.extend("qwert")
# print(li)

# 7)请增加列表中的元素"eric",并输出添加后的列表
# li.extend(["eric"])
# print(li) # ['alex', 'WuSir', 'ritian', 'barry', 'wenzhou', 'eric']

# 8)请删除列表中的第2个元素,并输出删除的元素和删除元素后的列表
# data = li.pop(1)
# print(data) # WuSir
# print(li) # ['alex', 'ritian', 'barry', 'wenzhou']

# 9)请删除列表中的第2至4个元素,并输出删除元素后的列表
# del li[1:3]
# print(li) #['alex', 'barry', 'wenzhou']

# 10)请将列表所有得元素反转,并输出反转后的列表
# li.reverse()
# print(li) #['wenzhou', 'barry', 'ritian', 'WuSir', 'alex']
# 11)请计算出"alex"元素在列表li中出现的次数,并输出该次数。
# n = li.count("alex")
# print(n) # 1


# 2
#li = ["1", "3", "2", "a", "4", "b", "5", "c"]
# 1)通过对li列表的切片形成新的列表l1,l1 = [1,3,2]
# print(li[0:3]) #['1', '3', '2']

# 2)通过对li列列表的切片形成新的列表l2,l2 = ["a",4,"b"]
# print(li[3:6]) # ['a', '4', 'b']

# 3)通过对li列列表的切片形成新的列表l3,l3 = ["1,2,4,5] "
# print(li[::2]) # ['1', '2', '4', '5']

# 4)通过对li列列表的切片形成新的列表l4,l4 = [3,"a","b"]
# print(li[1:6:2]) # ['3', 'a', 'b']

# 5)通过对li列列表的切片形成新的列表l5,l5 = ["c"]
# print(li[-1:]) # ['c']

# 6)通过对li列表的切片形成新的列表l6,l6 = ["b","a",3]
# print(li[-3::-2]) # ['b', 'a', '3']


# 3
# 写代码,有如下列列表,按照要求实现每⼀一个功能。
# lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
# 1)将列表lis中的"tt"变成大写(用两种方式)。
# 3.1.1 lis[3][2][1][0] = lis[3][2][1][0].upper()
# print(lis)
# 3.1.2 lis[3][2][1][0] = "TT"
# print(lis)
# 2)将列表中的数字3变成字符串"100"(用两种方式)。
# 3.2.1 lis[1] = "100"
# lis[3][2][1][1] = "100"
# print(lis)
# 3.2.2 lis[1] = str(lis[1]+97)
# lis[3][2][1][1] = str(lis[3][2][1][1]+97)
# print(lis)

# 3)将列表中的字符串"1"变成数字101(用两种方式)。
# 3.3.1 lis[3][2][1][2] = 101
# print(lis)
# 3.3.2 lis[3][2][1][2] =int(lis[3][2][1][2]+"01")
# print(lis)


# 4
# 4,请⽤用代码实现:
# li = ["alex", "eric", "rain"]
# 利用下划线将列表的每⼀个元素拼接成字符串"alex_eric_rain"
#
# li = ["alex", "eric", "rain"]
# li[::] = ["alex_eric_rain"]
# print(li)


# 5
# 利用for循环和range打印出下⾯面列表的索引。
# li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
# for c in range(len(li)):
# print(c)


# 6
# 利用for循环和range找出100以内所有的偶数并将这些偶数插入到⼀个新列表中。
# li = []
# for c in range(100):
# if int(c) % 2 == 0:
# li.extend([c])
# print(li)


# 7
# 利用for循环和range 找出50以内能被3整除的数,并将这些数插⼊入到⼀个新列表中
# for c in range(50):
# if int(c) % 3 == 0:
# print(c)

# 8
# 利用for循环和range从100~1,倒序打印。
# for c in range(100, 1, -1):
# print(c)

# 9
# 利用for循环和range从100~10,倒序将所有的偶数添加到⼀个新列表中
# 然后对列表的元素进⾏筛选,将能被4整除的数留下来。
# for c in range(100, 10, -2):
# if int(c) % 4 == 0:
# print(c)

# 10利用for循环和range,将1-30的数字⼀次添加到⼀个列表中,并循环这个列表,将能被3整除的数改成*。
# n = []
# for c in range(1, 30):
# n.append(c)
# if c % 3 == 0:
# n[c-1] = "*"
# print(n)
 
不要被眼前的迷雾遮住了双眼.
原文地址:https://www.cnblogs.com/lingcai/p/9398232.html