Head First--------Python(1)列表

Python--------List(列表)

目录

Python--------List(列表)

List可以存放不同类型的数据

List列表的基本操作

遍历查看List的元素

如何遍历列表中的列表?

如何统计list中出现频率最大的元素?


序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

Python有6个序列的内置类型,但最常见的是列表和元组。

序列都可以进行的操作包括索引,切片,加,乘,检查成员。

此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。

列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

列表的数据项不需要具有相同的类型

列表就像是数组

在python中创建一个列表时,解释器会在内存中创建一个类似数组的数据结构来存储数据,数据项自下而上堆放。类似于其他编程语言中的数组技术,堆栈中的第一个Index为0,第二个为1

movies=['The Holy Grail','the life of Brain']

movies就是一个列表

The_first_movie_name=movies[0]

The_second_movie_name=movies[1]

这样就把字符串‘The Holy Grail’赋值给The_first_name,'the life of Brain'赋值给The_second_movie_name

列表List有两种创建方法:

1. theFrist_list=list()

2. theSecond_list=[]

这两种没有什么区别,看个人习惯而定

List可以存放不同类型的数据

你可以在List中存放int类型的,然后再存放String字符串,甚至还可以镶嵌List

a_list=[50,'一二三',['三二一',50]]

你还可以在List中存放class类型数据

List列表的基本操作

1.向列表中添加数据 list.append(数据)

append会将数据自动添加到list的末尾去

2.去除list中的数据 list.pop(index)

去除list中Index的数据并返回

3.去除list中的指定数据

list.remove(数据)

如果数据并不存在list中,python会抛出异常错误

4.合并两个list

a=[1,2]
b=[4,5]
a.extend(b)

    

遍历查看List的元素

处理每一个列表项是一个相当常见的需求,所以python通过内置的for循环可以很方便的做到这一点

其结构如下:   for  目标标识符 in 列表 :

                              代码操作

python会将列表中的每一项逐一赋值给目标标识符,这一个操作和java的for-each操作类似

name_list=['小明','小华','小芳']
for name in name_list:
    print(name)

如何遍历列表中的列表?

name_list=['小明',['小芳','女',19],['小华','65kg']]

假如我们用普通的for 循环遍历会有如下结果

你会发现遍历出来还是List

解决之道——递归!!!

 def get_name(name_list):
	for name in name_list:
	#name_list为输入参数
		if isinstance(name,list):
			#判断参数是否为列表
			#如果为列表执行以下操作
			get_name(name)
		else:
			#否则执行下面操作
			print(name)

通过递归的方法,可以把很多复杂的代码变为简单,递归函数不需要改变任何就可以正确地处理任意深度的镶嵌列表

如何统计list中出现频率最大的元素?

from collections import Counter
worlds=['hello','world','hello','a','b','b','b']
world_counts=Counter(worlds)
count_list=world_counts.most_common()
print(count_list)

这里我们要导入python系统自己带的collecitons模块中的Counter

你把你要统计的List传入给Counter

然后调用它的most_commmon()函数,其中括号中可以输入你想统计频率最高的哪几个元素(频率由高往低),不填默认是全部

其中world_counts是一个dict类型,所以你可以直接查看单个单词的出现次数

print(world_counts['hello'])

猜你喜欢

转载自blog.csdn.net/weixin_40116462/article/details/81066421
今日推荐