「原创」「python自学笔记」python列表,元组,集合,字典总结

「原创」「python自学笔记」python列表,元组,集合,字典总结

一. 列表

  • 列表是一个有序可扩展的数组,类似于java中的List
  • 列表存放的值的类型可以不唯一

常用操作示例

'''创建列表'''
list1 = [0, 1, 2, 3, 4, 5, 'a', 'b', 'c', 'd', 'e', 2, 5, 8]
print(type(list1))
print(list1)
'''列表的切片'''
# 步长1,正序,返回索引1到3
print(list1[1:4])
# 步长1,正序,返回索引-5到-1
print(list1[-5:])
# 步长2,正序,返回索引1到5
print(list1[1:6:2])
# 步长1,正序,返回索引0到最大
print(list1[:])
# 步长2,正序,返回索引0到最大
print(list1[::2])
'''列表的常用操作'''
# index 查找指定元素的位置 6
print(list1.index('a'))
# count 统计指定元素出现次数 2
print(list1.count(2))
# 追加元素
list1.append(9)

print(list1)
# 修改索引2的元素为 'z'
list1[2] = 'z'
print(list1)
# 索引3的位置插入元素 'x'
list1.insert(3, 'x')
print(list1)
# 合并列表
list2 = ['hello', 'world']
print(list1 + list2)
list1.extend(list2)
print(list1)
# 删除索引是3的元素,并返回
print(list1.pop(3))
print(list1)
# 删除第一个元素 5
list1.remove(5)
print(list1)
# 删除最后两个元素
del list1[-2:]
print(list1)
# 删除列表
del list2
# print(list2)
# 默认排序,按照ASCII排序
list2 = ['s', 't', 'Tom', 'Mary', 'Jack']
list2.sort()
print(list2)
# 倒序列表
list2.reverse()
print(list2)
# 引用赋值
list3 = list1
list1[0] = 'd'
print(list1, list3)
# 浅copy
list4 = list1.copy()
list1[0] = 'E'
print(list1, list4)

二. 元组

  • 元组是一个有序固定大小的只读数组,类似于java中的枚举
  • 元组内的元素不可以改变
  • 元组存放的值的类型可以不唯一

常用操作示例

'''创建元组'''
countries = ('China', 'England', 'Hungary', 'Belgium', 'England', 1000)
# 元组类型
print(type(countries))
# 获取指定索引元素
print(countries[0])
# 获取指定元素索引
print(countries.index('China'))
# 切片,获取第二个元素开始的所有元素
print(countries[1:])
# 计算指定元素的个数
print(countries.count('England'))

三. 集合

  • 集合是基于hash的一个无序可扩展的数组,类似于java中的HashSet
  • 因为基于hash,所以集合内的元素不会重复
  • 集合存放的值的类型可以不唯一

常用操作示例

'''创建集合'''
set1 = {1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 'stone'}
print(type(set1))
print(set1)
'''集合常用操作'''
# 添加元素
set1.add(5)
print(set1)
set1.add(6)
print(set1)
# 删除元素
# 随机删除
set1.pop()
print(set1)
# 指定删除,若元素不存在,则报错
set1.remove(6)
print(set1)
# set1.remove(10)
# 指定删除,若元素不存在,不报错
set1.discard(5)
print(set1)
set1.discard(10)
print(set1)
# 集合合并
set2 = {5, 6, 7, 8, 9}
set1.update(set2)
print(set1)
# 合并列表
list1 = [1, 2]
set1.update(list1)
print(set1)
# 合并元组
tuple1 = (9, 10)
set1.update(tuple1)
print(set1)
# 引用赋值
set3 = set1
set1.pop()
print(set1, set3)

# 浅copy
set4 = set1.copy()
set1.pop()
print(set1, set4)
# 集合运算
set5 = {6, 7, 8, 9, 10, 11, 12, 13, 14, 15}
# 交集
print(set1.intersection(set5))
print(set1 & set5)
# 并集
print(set1.union(set5))
print(set1 | set5)
# 差集
print(set1.difference(set5))
print(set1 - set5)
print(set5.difference(set1))
print(set5 - set1)
# 对称差集, 两个差集的并集
print(set1.symmetric_difference(set5))

四. 字典

  • 字典是基于Hash的Map,类似于java中的HashMap
  • 字典存放的key-value对的类型可以不唯一

常用操作示例

'''创建字典'''
dict1 = {
'China': ('CHN', '北京', '汉语'),
'England': ('GBR', '伦敦', '英语'),
'Swiss': ('CHE', '伯尔尼', '德语')
}
print(type(dict1))
print(dict1)
'''字典的常用操作'''

# 输出key
print(dict1.keys())
# 输出values
print(dict1.values())
# 追加元素
dict1['French'] = ('FRA', '巴黎', '法语')
print(dict1)
# 修改索引2的元素为 'z'
dict1['Swiss'] = ('CHE', '伯尔尼', '法语')
print(dict1)
# 删除索引是3的元素,并返回
print(dict1.pop('Swiss'))
print(dict1)
# 删除第一个元素 5
del dict1['French']
print(dict1)
# 字典合并
dict2 = {
'Swiss': ('CHE', '伯尔尼', '法语'),
'French': ('FRA', '巴黎', '法语'),
1000: 'country'
}
dict1.update(dict2)
print(dict1)
# 引用赋值
dict3 = dict1
dict1['England'] = ('GBR', '伦敦?', '英语?')
print(dict1, dict3)
# 浅copy
dict4 = dict1.copy()
dict1['England'] = ('GBR', '伦敦!', '英语!')
print(dict1, dict4)
# 清空
dict1.clear()
print(dict1)

完整的代码请参考:

https://gitee.com/dean2083/python-learning

day2

坚持总会有收获


分享到:


相關文章: