元组

1.元组的关键字:tuple,元组的符号:(),所有的符号都是英文状态下的符号

2.小括号括起来的数据,都是元组;可以用type()函数查看类型:type(tuple_1)

3.可以创建一个空元组:tuple_1()

4.如果元组里面只有一个元素时,要在元素后加上一个逗号,例如:tuple_1(1,)

5.元组包含各种数据类型:整数、浮点数、字符串、布尔值、元组、列表、字典

6.元组里元素与元素用逗号隔开,看元素得长度:len(tuple_1)

7.元组的取值方式:与字符型相似,根据索引取值、切片取值

a.索引取单个值:元组名[索引值] #取出来的是一个字符串

tuple_1 = (1, "hello", 10.5, (2, 3, "python"))   
print("取出来的值:",tuple_1[1])      #取出来的是一个字符串
取出来的值: hello

b.索引嵌套取值:元组名[索引值][索引值]

tuple_1 = (1, "hello", 10.5, (2, 3, "python")) 
print("取出来的值:",tuple_1[-1][-1])      #取出来的是一个字符串
取出来的值: python

c.切片取值:元组名[索引开始值:索引结束值:步长],取左不取右

tuple_1 = (1, "hello", 10.5, (2, 3, "python"),666) 
print("取出来的值:", tuple_1[1:5:2])     #取出来的是一个新的元组
取出来的值: ('hello', (2, 3, 'python'))

8.元组是有序数据(有索引值),但是不支持:增、删、改

PS:什么场景用:根据需求来,不想元素被改变的场景下使用

2.列表

1.列表的关键字:list,列表的符号:[],所有的符号都是英文状态下的符号

2.中括号括起来的数据,都是列表;可以用type()函数查看类型:type(list_1)

3.可以创建一个空列表:list_1[]

4.列表包含各种数据类型:整数、浮点数、字符串、布尔值、元组、列表、字典

5.列表里元素与元素用逗号隔开,看元素得长度:len(list_1)

6.列表的取值方式:与字符型/元组相似,根据索引取值、切片取值

list_1 = [1, "hello", 10.5, (2, 3, "python")]

a.索引取单个值:列表名[索引值]

list_1[1]#取出来的值:hello   #取出来的是一个字符串

b.索引嵌套取值:列表名[索引值][索引值]

list_1[-1][-1]#取出来的值:python    #取出来的是一个字符串

c.切片取值:列表名[索引开始值:索引结束值:步长],取左不取右

list_1 = [1, "hello", 10.5, (2, 3, "python"),666]
list_1[1:5:2]#取出来的值:[hello,(2, 3, "python")]  #取出来的是一个新的列表

7.列表是有序数据(有索引值),支持:增、删、改
7.1.增加

a.列表名.append(value) #加到末尾,一次只能增加一个元素

list_1 = [1, "hello", 10.5, (2, 3, "python"),666]
list_1.append("xiaochen")
print("在末尾增加元素后:",list_1)
在末尾增加元素后: [1, 'hello', 10.5, (2, 3, 'python'), 666, 'xiaochen']

b.列表名.insert(索引位置,value)#在指定的索引位置添加元素,一次只能增加一个元素

list_1 = [1, "hello", 10.5, (2, 3, "python"),666]
list_1.insert(3,"hi")
print("在指定的索引位置添加元素:",list_1)
在指定的索引位置添加元素: [1, 'hello', 10.5, 'hi', (2, 3, 'python'), 666]

c.添加/合并列表:两种方式,一种是使用extend()函数,另外一种使用:+
1.列表1.extend.(列表2)
2.列表1+列表2

7.2.删除
a.列表名.pop()#删除最后一个元素

list_1 = [1, "hello", 10.5, (2, 3, "python"),666]
list_1.pop()
print("删除最后一个元素:",list_1)
删除最后一个元素: [1, 'hello', 10.5, (2, 3, 'python')]

b.列表名.pop(索引位置)#删除指定索引位置的一个元素

list_1 = [1, "hello", 10.5, (2, 3, "python"),666]
list_1.pop(1)
print("删除指定索引位置的一个元素",list_1)
删除指定索引位置的一个元素 [1, 10.5, (2, 3, 'python'), 666]

c.del 列表名#把内存上把列表位置删除,再不能使用列表了

list_1 = [1, "hello", 10.5, (2, 3, "python"),666]
del list_1
print("把内存上把列表位置删除",list_1)
列表不存在,系统报错:name 'list_1' is not defined

7.3.修改
列表名.[索引位置]=新的值 list_1[i]=new_value

list_1 = [1, "hello", 10.5, (2, 3, "python"),666]
list_1[1]="good"
print("修改后的列表:",list_1)
修改后的列表: [1, 'good', 10.5, (2, 3, 'python'), 666]

8.列表常用其他函数

a.list_1.reverse()#对列表里的元素进行倒叙

list_1 = [1, "hello", 10.5, (2, 3, "python"),666]
list_1.reverse()
print("对列表里的元素进行倒叙:",list_1)
对列表里的元素进行倒叙: [666, (2, 3, 'python'), 10.5, 'hello', 1]

b.list_1.sort()#对列表里的元素进行从小到大排序(只能对整型/浮点型进行倒叙)

list_2=[100,2,45,6,9,88,1.5]
list_2.sort()
print("列表里的元素进行从小到大排序:",list_2)
列表里的元素进行从小到大排序: [1.5, 2, 6, 9, 45, 88, 100]

注意:
什么场景用:根据需求来,元素灵活运用

列表一定可以删除、元组一定不可以删除,是绝对的吗?
答:不是绝对的
列如:列表里的元组是可以修改的,删除的,增加的
列如:元组里的列表是不支持修改的,删除的,增加的

t= (1,0.229,"haha",(1,2,3,"hello"),['python13','lemon','土豆','西红柿'])
t[-1][-1] = '柠檬茶'
print("对元组里面的列表的元素进行修改:",t)
对元组里面的列表的元素进行修改: (1, 0.229, 'haha', (1, 2, 3, 'hello'), ['python13', 'lemon', '土豆', '柠檬茶'])

3.字典

1.字典的关键字:dict,列表的符号:{},所有的符号都是英文状态下的符号

2.大括号括起来的数据,都是字典;可以用type()函数查看类型:type(dict_1)

3.可以创建一个空字典:dict_1{}

4.字典里面元素储存的方式:键值对(key:value)的形式存在的,元素之间逗号隔开

a.key 数据类型要求:唯一的,不可变的(字典和列表是可变类型,所以不能做为key)

b.value 数据类型不限:整数,浮点数,字符串,布尔值,元组,列表,字典

dict_1={"name":"小陈","age":18,"height":"175.5", "friend":["小王","小红"]}

5.字典里元素与元素用逗号隔开,看元素得长度:len(dict_1)

6.字典的取值方式:只能根据Key去取值,dict_1[key]
#字典是无序的数据,所以不能用索引去切片取值

a.字典取单个值:字典名[key]

dict_1={"name":"小陈","age":18,"height":"175.55","score":{"en":120,"math":99.99,"ch":"A"},"friend":["小王","小李","小红红"]}
dict_1["name"]         #取出来的是一个字符串
print("取出来的值是:",dict_1["name"] ) 
取出来的值是: 小陈

b.字典嵌套取值:字典[key][索引值] #取字典里面列表,元组,字符串的值

dict_1={"name":"小陈","age":18,"height":"175.55","score":{"en":120,"math":99.99,"ch":"A"},"friend":["小王","小李","小红红"]}
dict_1["friend"][-1] #取出来的值:小红红     #取出来的是一个字符串
dict_1["score"]["math"]) #取字典里字典math的值:99.99   #取出来的是一个字符串

7.字典是无序数据(无索引值),支持:增、删、改

7.1.增加

字典里面元素添加也是以键值对的形式添加的
dict_1[“new_key”]=“new_value” #key不存在就是新增,key存在就是修改

dict_1={"name":"小陈","age":18,"height":"175.55","score":{"en":120,"math":99.99,"ch":"A"},"friend":["小王","小李","小红红"]}
dict_1["sex"]="男"    #注意:新增、修改要用[]中括号
print("添加字典元素:",dict_1)
添加字典元素: {'age': 18, 'sex': '男', 'score': {'en': 120, 'math': 99.99, 'ch': 'A'}, 'friend': ['小王', '小李', '小红红'], 'name': '小陈', 'height': '175.55'}

7.2修改

字典的修改也是以键值对的形式修改的

dict_1[“old_key”]=“new_value” #key存在就是修改,不存在就是新增

dict_1={'age': 18, 'sex': '男', 'score': {'en': 120, 'math': 99.99, 'ch': 'A'}, 'friend': ['小王', '小李', '小红红'], 'name': '小陈', 'height': '175.55'}
dict_1["sex"]="女"      #注意:新增、修改要用[]中括号
print("修改字典元素:",dict_1)
修改字典元素: {'sex': '女', 'name': '小陈', 'height': '175.55', 'score': {'math': 99.99, 'ch': 'A', 'en': 120}, 'age': 18, 'friend': ['小王', '小李', '小红红']}

7.3删除
字典根据:key删除
dict_1.pop(“key”)

dict_1={'age': 18, 'sex': '男', 'score': {'en': 120, 'math': 99.99, 'ch': 'A'}, 'friend': ['小王', '小李', '小红红'], 'name': '小陈', 'height': '175.55'}
dict_1.pop("friend")    #删除要()小括号
print("根据key删除后:",dict_1)
根据key删除后: {'score': {'en': 120, 'math': 99.99, 'ch': 'A'}, 'age': 18, 'name': '小陈', 'height': '175.55', 'sex': '男'}

字典随机删除:popitem()

dict_1={'age': 18, 'sex': '男', 'score': {'en': 120, 'math': 99.99, 'ch': 'A'}, 'friend': ['小王', '小李', '小红红'], 'name': '小陈', 'height': '175.55'}
dict_1.popitem()
print(dict_1)
随机删除后: {'sex': '男', 'friend': ['小王', '小李', '小红红'], 'name': '小陈', 'height': '175.55', 'age': 18}
随机删除后: {'sex': '男', 'score': {'en': 120, 'ch': 'A', 'math': 99.99}, 'height': '175.55', 'age': 18, 'name': '小陈'}

8.字典常用其他方法

a.获取字典里面所有的键值:dict_1.keys()

print(dict_1.keys())
获取字典中所有的key:dict_keys(['age', 'score', 'name', 'friend', 'height'])

b.获取字典里面所有的值:dict_1.values()

print(dict_1.values())
获取字典中所有的value: dict_values([{'math': 99.99, 'en': 120, 'ch': 'A'}, '小陈', '175.55', 18, ['小王', '小李', '小红红']])