列表:

    列表就像是数组一样但又不是数组,列表中可以存放各种数据但并不需要定义数据类型。

>>> animal = ["猪",20,"鸭子",30,"狗",2,["红烧猪蹄","油烫鸭","狗这么可爱你忍心吃吗"]]
>>> print(animal) #打印出列表
['猪', 20, '鸭子', 30, '狗', 2, ['红烧猪蹄', '油烫鸭', '狗这么可爱你忍心吃吗']]
>>> print(animal[2]) #根据下标打印出值
鸭子
>>>

     列表中不仅可以插入字符串、数值等,他还可以插入列表也就是嵌套。

len(列表名) #查看列表有多少值
列表名.append("数据") #在列表末尾增加数据
列表名.pop() #删除末尾的数据
列表名.extend(["数据","数据"]) #增加一个数据项集合
列表名.remove("数据") #删除一个特定的数据项
列表名.insert(下标,"数据") #在特定的位置前面增加一个数据项

    for:

    当我们需要循环的时候for循环当然是一个很不错的选择。

>>> for each_item in animal:
	print(each_item)
猪
20
鸭子
30
狗
2
['红烧猪蹄', '油烫鸭', '狗这么可爱你忍心吃吗']

    for 目标标识符(target identifier) in 列表:


列表处理代码(组/suite)


    每次循环代码时目标标识符都会指示一个不同的数值。

    While:

>>> count = 0
>>> while count < len(animal):
	print(animal[count])
	count = count+1	
猪
20
鸭子
30
狗
2
['红烧猪蹄', '油烫鸭', '狗这么可爱你忍心吃吗']

while虽然也能迭代但看起来就麻烦了一些。


    if...else...


上述几个例子会发现怎么无论什么方法内嵌列表总是以列表的方式一起打印出来下面就用if语句把他加上判断打印出来。


>>> for each_item in animal:
	if isinstance(each_item,list):
		for animal_item in each_item:
			print(animal_item)
	else:
		print(each_item)
猪
20
鸭子
30
狗
2
红烧猪蹄
油烫鸭
狗这么可爱你忍心吃吗

PS:isinstance()方法用来判断数值是否为指定格式。

    函数:


有些时候代码重复度高,那就需要一些函数来代替那些重复的代码并且增加代码的可读性。


>>> def function(my_list):
	for each_item in my_list:
		if isinstance(each_item,list):
			function(each_item)
		else:
			print(each_item)		
>>> function(animal)
猪
20
鸭子
30
狗
2
红烧猪蹄
油烫鸭
狗这么可爱你忍心吃吗

执行以上函数后,这是嵌套两层的列表就算嵌套更深层次也依然可以将数据打印出来。

Python3默认递归不能超过100个,但是这个深度是可以改变的。