本次内容:列表+元组
>> Python每日笔记—Day01 <<
>> Python每日笔记—Day02 <<
>> Python每日笔记—Day03 <<
>> Python每日笔记—Day04 <<
>> Python每日笔记—Day05 <<
>> Python每日笔记—Day06 <<
>> Python每日笔记—Day07 <<
>> Python每日笔记—Day08 <<
>> Python每日笔记—Day09 <<
序列是python中最基本的一种数据结构。序列中的每一个值都有它对应的位置值,称为索引。
从左到右,第一个值的索引为0,依次增加,类比数组。
列表是最常用的python数据类型。用[]表示,用','隔开
# 创建一个空列表
list1 = []
list2 = list()
print(len(list2))
list3 = [1, 2, 3]
list4 = [4, 5, 6]
# *是倍数
print(list3 + list4) # [1, 2, 3, 4, 5, 6]
# +是拼接
print(list3 * 2) # [1, 2, 3, 1, 2, 3]
list5 = list3 + list4
flag = 3 in list5 # 成员运算符
print(flag)
list5 = [1, 2, 3, 1, 2, 3]
# 访问列表中的元素,可以使用索引访问
print(list5[5])
# 遍历list中的元素:方法一
for i in range(len(list5)):
print(list5[i])
# 遍历list中的元素:方法二
# list本身就是一个range序列,可以直接遍历不使用索引访问
for li in list5:
print(li)
'''
list的切片测试
[:m]
[m:n]
[m:n:s]
'''
list5 = [1, 2, 3, 1, 2, 3]
print(list5[:3], end=" ") # 前三位
print(list5[1:5], end=" ") # 2-5位
print(list5[-5:-1:2], end=" ") # -5到-1 每次递增2
list5 = [1, 2, 3, 1, 2, 3]
print(id(list5))
list5[1] = 9
print(list5) # 1, 9, 3, 1, 2, 3
print(id(list5))
# 列表元素list1 = [1, 2, 3]
list2 = [4, 5, 6]
list1.append(8)
print(list1) # [1, 2, 3, 8]
list1.append(list2) # 将整个list2作为一个object追加到list1后面
print(list1) # [1, 2, 3, 8, [4, 5, 6]]
# 删除列表中的元素
list1 = [1, 2, 3]
del list1[1]
print(list1) # [1, 3]
# 列表的添加方法 extend()
list3 = ['a', 'b', 'c']
list3.extend(list1)
print(list3) # ['a', 'b', 'c', 1, 3]
# 列表的插入方法 insert()
list3 = ['a', 'b', 'c']
list3.insert(2, 'g') # 在索引为2,第三个位置插入g
print(list3) # ['a', 'b', 'g', 'c']
list3.insert(1, "天气很好,心情不错") # 在索引为1,第二个位置插入"天气很好,心情不错"
print(list3) # ['a', '天气很好,心情不错', 'b', 'g', 'c']
# list列表的删除方法
list1 = [1, 2, 3, 4]
list1.remove(2) # remove(object)object指的是要删除的列表元素,而不是索引
# list1.remove(9) # remove的参数不在列表中,会报异常
print(list1)
# 删除列表中的元素
list2 = ['a', 'b', 'c', 'd']
list2.pop(-1) # 参数为索引值
print(list2)
# index : 返回的是某元素第一次出现的索引位置
list1 = ["abc", "apple", "append", "abc"]
print(list1.index('abc')) # 0,第一次'abc'出现的位置
# 计算元素出现的次数 count()
list1 = ["abc", "apple", "append", "abc"]
print(list1.count('abc')) # 2
# 反转方法
list1 = ["abc", "apple", "append", "abc"]
list1.reverse()
print(list1)
list1 = ["上", "海", "自", "来", "水", "来", "自", "海", "上"]
str1 = str(list1)
list1.reverse()
str2 = str(list1)
if str1 == str2:
print("是回文")
# 快速排序
list1 = [10, 12, 43, 14, 7]
list1.sort()
print(list1)
list1 = [1, 2, 3, 4, 5]
# 列表的复制
'赋值运算符=,两个list所指的地址一样,如果修改其中一个,另一个也受影响 '
list2 = list1
print(id(list2), id(list1))
'copy方法,两个list所指的地址不一样,互相不影响'
list2 = list1.copy()
print(id(list2), id(list1))
# 列表元素的清空
list1.clear()
print(list1) # []
# 使用列表来存储名片对象,通过索引来进行增删改查
l1 = [{
'name': '张三', 'age': 18, 'height': 172}, {
'name': '张三十一', 'age': 28, 'height': 188}]
while True:
print('*'*60)
print('====================欢迎进入名片管理系统====================')
print('1-查看名片')
print('2-添加名片')
print('3-修改名片')
print('4-删除名片')
print('5-退出系统')
choice = input("请选择:") # input输入的是字符串
'''名片内容:
姓名: 张三
年龄: 19
身高: 172
l1 = [{'name':'张三', 'age':18, 'heigth':172}, {'name':'张三十一', 'age':28, 'height':188}]
'''
if choice == '1':
i = 0
while i < len(l1):
print('%s->姓名:%s|年龄:%s|:身高:%s' % (i, l1[i]['name'], l1[i]['age'], l1[i]['height']))
i += 1
else:
print("当前没有用户信息")
elif choice == '2':
name = input("name:").strip()
age = input("age:").strip()
height = input("height:").strip()
info = {
'name': name, 'age': age, 'height': height}
# 将info添加到列表 l1 中
l1.append(info)
print("添加成功")
elif choice == '3':
mod = int(input("请选择要修改的名片:"))
name1 = input("name:").strip()
age1 = input("age:").strip()
height1 = input("height:").strip()
if name1:
l1[mod]['name'] = name1
if age1:
l1[mod]['age'] = age1
if height1:
l1[mod]['height'] = height1
print("修改成功")
elif choice == '4':
index = int(input("请输入要删除的序号"))
l1.remove(l1[index])
print("删除成功")
elif choice == '5':
print("退出系统")
break
else:
print('输入有误,请重新输入')
* python中的元组和列表比较类似,不同之处在于元组的元素不能修改!
* 元组使用()表示,列表使用[]表示
* 元组与字符串类似,下标索引都是从0开始,可以进行截取
tuple1 = (50, 'True', False, [1, 3], (3, 4), 50)
# tuple[0] = 90 元组的元素内容不能被直接修改
print(tuple1)
print(type(tuple1))
t1 = (1, 2, 3)
t2 = (4, 5, 6)
print(t1 + t2) # (1, 2, 3, 4, 5, 6)
print(t1 * 2) # (1, 2, 3, 1, 2, 3)
t1 = (1, 2, 3)
t2 = (4, 5, 6)
# 求最大最小值函数,max和min
print(min(t1)) # 1
print(max(t2)) # 6
# index查找 和 count计数
tuple2 = (1, 1, 2, 31, 4, 2, 6, 2)
print(tuple2.count(2)) # 3
print(tuple2.index(2)) # 2
如果这篇文章对你有帮助,点个赞呗