元组与字典

一、元组

1、列表与元组的区别

列表是可变的,元组是不可变的,列表的可变是指可以添加、删除元素,元组不可变是指不可以增加新的、删除已有的元素

2、元组中的命令

2.1、索引与查找相同元素

index:查看元素的索引

count:查找有多少个相同元素

# index:查看元素的索引
# count:查找有多少个相同元素
list1=(5,45,3,53,5,79,3,5,35,6,7,76)
print(list1.index(3))
print(list1.count(5))

元组里面的元素可以是字符串,也可以是数字,也可以是元组自己,也可以是列表

注意:当元组里只有一个元素时后面需要缀逗号

2.2、for循环

自定义index,num,输出结果也可以自定义

list1=(2,345,65,35,34,53)
for index,num in enumerate(list1):
   if index==3 and num==35:
      print('ok')

2.3、查找元组中的元素——print(tuple[索引][索引])

[ ]中的数字为索引

# 获取元组里面的元素
tuple1=(2,345,65,35,"4,6,3,5")
print(tuple1[4][2])

 

二、字典

1、字典特性

1.1、字典时无序的

1.2、字典是key-value的形式来存储的

2、字典的关键字为dict

代码为:dict={'name':'wp','age':'22"}

强制转换:print(dict{})

获取信息

# 获取所有的key;
dict1={'name':'wp','age':22,'city':'xian'}
for item in dict1.keys():
    print(item)

# 获取所有的value;
for item in dict1.values():
    print(item)

# 对字典进行循环;
for key,value in dict1.items():
    print(key,':',value)

 

3、获取value的值(一般是使用第二种)

print(dict1.get("age"))
print(dict1['age'])

 

4、两个字典合并:update()——list中的extend()

# 两个字典合并
dict={'name':'wp','age':22,'city':'xian'}
dict1={'six':'girl'}
dict.update(dict1)
print(dict)

 

5、排序规则

1、如果是数字,默认是从小到大

2、如果是字符串,内部处理的思路是把字符串转为数字,然后和1的规则一样

3、如果是多个字符串,比如aa,ab,那么这个规则是:

      A、aa和ab先比较第一个字符串,第一个相同,就比较第二个

      B、比较第二个,比如是字符串转为数字,规则与1相同

4、把字符串转为数字,使用的内部函数是ord()

5、排序必须是相同的数据类型(当出现数字与字母比较时,将数字放在引号内就可以了)

6、字典排序的内部函数:sorted()

6.1、dict.items()实现了把字典循环输出key和value

6.2、把循环出的key和value分别放到一个新的列表中,第一位是key,第二位是value

6.3、根据key参数后的lambda后的item[0]来进行排序,也就是按照key来进行排序

print(dict(sorted(dict1.items(),key=lambda item:item[0])))

 

复杂结构中信息查询操作

 

7、获取所有信息后放置新的列表中

输出一列在循环中,是会增进式输出,只到所查询的信息显示完,但在循环外仅显示横向类的查询信息

 

8、实现字典的有序:从collections导入OrderedDict

from collections import OrderedDict

 

9、字符串与列表之间的转化

9.1、字符串与列表的转换

str1='Go,Java,Python'
# 字符串转列表
str_list=str1.split(',')
print(str_list)
# 列表转字符串 
list_str=','.join(str_list) print(list_str)

9.2、列表与元组的转换

字符串不能直接转为元组,但是可以通过列表转换

list1=[1,2,3]
# 列表转为元组
list_tuple=tuple(list1)
print(list_tuple)

# 元组转为列表
tuple_list=list(list_tuple)
print(tuple_list)

9.3、整型与字符串转换

age='22'
# 字符串转整型
str_int=int(age)
print(str_int)

# 整型转字符串
int_str=str(age)
print(int_str)

9.4、列表与字典的转换

list3=['a','b','c']
# 列表转字典
list_dict=dict(enumerate(list3))
print(list_dict)

# 字典转列表
dict_list=list(list_dict.items())
print(dict_list)

10、获取列表中最大值和最小值

# 获取一个列表中的最大值和最小值
list2=[99,0,9,100,34,6,23,49,8]
list2.sort()
print(list2[0],list2[-1])

三、练习——数据处理

1、输出全部的城市信息

 

 

2、输出除“全国”以外的城市信息

strs=[]
for item in dict1['zpData']:
    if item['name']!='全国':
        strs.append(item['name'])

print(strs)

 

3、输出除“全国”以外的城市拼音,并且不带/

strs=[]
for item in dict1['zpData']:
    if item['name']!='全国':
        print(item['url'].replace('/',''))

 

posted @ 2022-03-28 16:40  棠小梨  阅读(113)  评论(0编辑  收藏  举报