# 针对Python中的列表、元组、字典、集合、字符串,查阅资料,请以条目形式从各方面对比它们之间的异同。
# 要求结合代码实例进行说明
from twisted.python.compat import cmp
def py_list():
"""
列表:
1.可以用list()函数或者方括号[]创建,元素之间用逗号分隔。
2.列表的元素不需要具有相同的类型
3.使用索引来访问元素
4.可切片
"""
# 声明/创建,类型
list1 = list((1,2,3,'as4'))
list2 = []
# 索引访问
print(list1[0])
# 切片,前闭后开【 , )
print(list1[1:3])
# 追加元素
list2.append(2)
# 追加另一个列表
list2.extend(list1)
print(list2)
# 参数在列表中的位置
print(list2.index(1))
# 像列表中插入数据
list2.insert(3,3)#这是在3之前插入3的意思
print(list2)
# 删除数据,
# 通过下标删除
list2.pop(5)
print(list2)
# 通过值删除
list2.remove(1)
print(list2)
# 将列表中的元素顺序颠倒
list2.reverse()
print(list2)
# 排序,可从小到大,也可从大到小,需传递参数
list2.sort()
print(list2)
pass
def py_tuple():
"""
1.可以用tuple()函数或者方括号()创建,元素之间用逗号分隔。 与列表类似
2.元组的元素不需要具有相同的类型 ,与列表相同
3.使用索引来访问元素 ,与列表相同
4.可切片 ,与列表相同
5.元素的值一旦创建就不可修改!!!!!(这是区别)
"""
# 声明/创建元组
tuple1 = tuple((1,2,3))
tuple2 = tuple([1,2,3])
tuple3 = ()
tuple4 = (1,2,3,4,'ass')
print(tuple1)
print(tuple2)
print(tuple4)
# 与列表相同之处不在演示
# 不可更改元素值
print(tuple1[1]) #输出2
# tuple1[1] = 3
# #输出'tuple' object does not support item assignment,元组“tuple”对象不支持项分配
# print(tuple1[1])
# 比较两个元组,cmp(tuple1, tuple2)
print(cmp(tuple1, tuple2)) #相同为0
print(cmp(tuple1, tuple4)) #小于为-1
print(cmp(tuple4, tuple1)) #大于为1
# 输出元组最大最小值
print(max(tuple1))
print(min(tuple1))
# 将列表转换为元组
list_t = [1,2,3,4,'asas']
tuple3 = tuple(list_t)
print(tuple3)
# 将元组转换为列表
list_t = list(tuple3)
print(list_t)
pass
def py_dictionary():
"""
1.元素由键(key)和值(value)组成 ,与列表/元组类似
2.可以用dict()函数或者方括号()创建,元素之间用逗号分隔,键与值之间用冒号隔开,与列表/元组类似
3.键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组
4.使用键(key)来访问元素,异
"""
# 声明/创建字典
dictionary1 = dict([('name','ms'),('age',22),('sex','男')])
dictionary2 = dict((('name','ms'),('age',22),('sex','男')))
print(dictionary1)
print(dictionary2)
dictionary3 = {}
print(dictionary3.__class__) #输出<class 'dict'>字典类
dictionary4 = {'name':'ms','age':22,'sex':'男'}
print(dictionary4)
# 使用关键字访问/修改
print(dictionary1['name']) #输出name对应得值
dictionary1['age'] = 21
print(dictionary1['age'])
pass
def py_set():
"""
1.可以用set()函数或者方括号{}创建,元素之间用逗号分隔,与列表/元组/字典类似
2.与字典相比少了键
3.不可索引,不可切片 异
4.不可以有重复元素 异
"""
# 声明/创建集合
set1 = set('1234566')
print(set1) #输出时重复会自动去掉
pass
def py_str():
# 字符可以是上面的任何一种
pass
if __name__ == '__main__':
# 列表
# py_list()
# 元组
# py_tuple()
# 字典
py_dictionary()
# 集合
py_set()
# 字符串
py_str()
pass