python中的列表和元组

 

# 1.列表 list
# 列表可以存储多个不同类型的数据
print('1.列表')

# 定义一个列表 最好存储同一类的数据,这样操作方便
list1 = []  # 定义一个空列表
name_list = ['小明', '小芳', '小刚']
print(name_list)
print(type(name_list))  # 数据类型是list

# 2.列表操作 增删查改
print()
print('2.列表操作')

# 2.1 查看 写了范围就在范围中寻找,否则在整个列表中寻找
# index(数据,开始索引,结束索引)
# 找到,则返回索引值,找不到,则报错
# count()
# 索引
print('2.1 查看')

# 2.11 index()
print('2.11 index()')
name_list = ['小明', '小芳', '小刚']
print(name_list.index('小明'))
# print(name_list.index('0小明'))  # 没找到,报错
# 若查找多个,则返回第一个找到的数据对应的索引

# 2.12 count() 统计列表中某数据出现的次数
print('2.12 count()')
name_list = ['小明', '小芳', '小刚']
print(name_list.count('小明'))

# 2.13 索引 通过索引查找列表中的数据
print('2.13 索引')
print(name_list[0])
print(name_list[-1])

# 2.14
# in
# not in
# 返回布尔值
print('2.14 in')
print('小明' in name_list)
print('小明' not in name_list)
# 注册账号,用户名不能重复
# 判断名称是否已经注册
# name_list = ['小明', '小芳', '小刚']
# name = input('请输入你的用户名称:')
# if name in name_list:
#     print(f'你的用户名是{name},此名称已被注册')
# else:
#     print(f'你的用户名是{name},注册成功!')
#     name_list.append(name)
#     print(name_list)

# 2.2 增加
# +
# append() 追加数据
# insert() 插入数据
# extend() 合并数据
print()
print('2.2 增加')

# 2.21 + 合并两个 列表 的数据
print('2.21 +')
list1 = ['小明']
list2 = ['666']
print(list1 + list2)

# 2.22 append() 把数据(任意类型)增加到该列表的最后,
# 列表属于可变数据类型 而字符串是不可变数据类型
print()
print('2.22 append()')
list1 = ['小明']
print(list)
print(id(list1))
list1.append('lll')
print(list1)
print(id(list1))
list1.append(666)  # 可以追加不同类型的数据
print(list1)

# 2.23 insert(索引, '数据') 插入数据
print()
print('2.23 insert()')
name_list = ['小明', '小芳', '小刚']
name_list.insert(0, '小雨')  # 若索引位置有数据,则会使这个数据及之后的数据后移
print(name_list)
name_list.insert(10, '小la')  # 索引值太大,只会插入到最后。
print(name_list)

# 2.24 expend(序列)  可拼接列表,字符串
# 列表,字符串是一个序列
print()
print('2.24 expend()')
name_list = ['小明', '小芳', '小刚']
name_list.extend(['小玉', '小李'])  # 而 + 只能拼接列表
print(name_list)
name_list.extend('abc')  # 字符串会拆开
print(name_list)

# 2.3 删除
# del() # remove()
# pop() # clear()
print()
print('2.3 删除')

# 2.31 del() 可以删除整个列表,也可以根据索引删除元素
# del 即是关键字,也是函数
# name_list = ['小明', '小芳', '小刚']
# del(name_list)  # del name_list
# print(name_list)  # 会报错,因为删了这个变量
print('2.31 del()')
name_list = ['小明', '小芳', '小刚']
del name_list[1]
print(name_list)

# 2.32 remove() 根据数据删除
print()
print('2.32 remove()')
name_list = ['小明', '小芳', '小芳']
name_list.remove('小芳')  # 只能删除一次
print(name_list)

# 2.33 pop(删除指定下表的数据) 根据索引值
# 没写则默认删除最后一个
# 返回被删除的数据
print()
print('2.33 pop()')
name_list = ['小明', '小芳', '小刚']
print(name_list.pop(1))  # 删除了索引为1的数据
print(name_list)
name_list = ['小明', '小芳', '小刚']
print(name_list.pop())  # 默认删除了最后一个数据
print(name_list)

# 2.34 clear() 清除列表中的所有元素
print()
print('2.34 clear()')
name_list = ['小明', '小芳', '小刚']
name_list.clear()
print(name_list)

# 2.4 修改
print()
print('2.4 修改')

# 2.41  = 赋值修改
print('2.41 赋值修改')
name_list = ['小明', '小芳', '小刚']
name_list[0] = '小玉'
print(name_list)

# 2.42 倒置 反转 reverse()
print()
print('2.42 倒置 reverse()')
name_list = ['小明', '小芳', '小刚']
name_list.reverse()
print(name_list)

# 2.43 排序 sort(key=None,reverse=False(升序))
print()
print('2.43 排序sort()')
name_list = [5, 3, 4, 2, 0, 1]
name_list.sort()  # reverse=False 升序
print(name_list)
name_list = [5, 3, 4, 2, 0, 1]
name_list.sort(reverse=True)  # 降序
print(name_list)

# len()  公共操作 del也是
# 返回序列的数据个数

# 2.44 复制 copy()
print()
print('2.44 copy()')
name_list = ['小明', '小芳', '小刚']
# 如果不使用copy(),直接使用=复制赋值列表,会出问题!!
new_list = name_list
del new_list[0]
print(new_list)
print(name_list)  # 会发现不知道为啥这个列表中的数据也被删除了!!

name_list = ['小明', '小芳', '小刚']
new_list_1 = name_list.copy()
del new_list_1[0]
print(new_list_1)
print(name_list)  # 使用了copy()则原先的列表会保存好


# 3.遍历列表
print()
print('3.遍历列表')
name_list = ['小明', '小芳', '小刚']
print(len(name_list))  # 列表中元素的个数

# 根据列表的长度确定循环的次数
i = 0
while i < len(name_list):
    print(name_list[i])
    i += 1

for i in range(len(name_list)):
    print(name_list[i])

for i in name_list:  # 和上一个一样
    print(i)

# 4.列表嵌套
print()
print('4.嵌套')
# list 是关键字,不能作为变量名称
list1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(list1[0])  # 打印列表list1中的第一个元素
print(list1[0][1])


# 5.元组 存储数据
# 存储数据后不可以更改
# 只能进行查看
print()
print('5.元祖')
data1 = ('小明', '小芳', '小刚')
print(data1)
print(type(data1))  # tuple

# 5.1 当创建单个数据元组的时候,后面需要跟上一个逗号
data2 = ('小明')
print(type(data2))  # 输出数据类型str
data3 = ('小明',)
print(type(data3))  # 输出数据类型tuple


# 5.2 元组中的可变类型是可以被更改的
data = ['小明', '小芳', [1, 2, 3]]
data[2][0] = 'a'
print(data)

# data = ('小明', '小芳', '小刚')
# data[0] = 'a'
# print(data)  # 会报错,因为不能更改


# 5.3 元祖查看的方法
# index() # count()
# 索引    # len
print()
print('5.3 元祖查看的方法')
data = ('小明', '小芳', '小刚')
print(data[0])
print(data.index('小明'))
print(data.count('小明'))
print(len(data))


# 今日练习
'''
办公室里有张三,李四,王五3个人,用列表表示
(1)小宋也来上班了,如何用列表表示?并输出办公室有哪些人
(2)过了一会,王五离开了,程序如何表达?并输出办公室有哪些人
'''
print()
print('今日练习')
list1 = ['张三', '李四', '王五']
list1.append('小宋')
print('小宋上班来了,办公室的人有:', list1)
del list1[2]
print('王五离开后,办公室的人有:', list1)

 

原文地址:http://www.cnblogs.com/qc2012/p/16852966.html

发表评论

您的电子邮箱地址不会被公开。