python_003--列表的操作和for循环

列表的操作:

获取列表中指定位置的元素;添加元素;删除元素;修改元素;插入元素;列表长度;列表中元素下标的获取;列表切片;列表排序;获取元素的位置;列表拷贝;合并列表;清空列表

#列表-帮助开发人员快速定义多个容器,用来存储多个数据

list1 = [1,2,3,'aa', 'bb', 'cc', 'cc']
#获取列表中指定位置的元素(列表名[下标])
print(list1[3])
#列表的操作
# 获取列表中元素的个数
print(len(list1))

#向列表中添加一个元素(python中列表的长度是可变的)
list1.append('dd')
print(list1)
#列表数据插入操作insert(index, object)--index需要插入数据的位置下标,object对应插入的数据
list1.insert(1, ['bb', 'cc', 'dd'])
print(list1)

#删除数据pop(index)--用来删除列表中下标为index的元素,但是注意如果index没有给定,默认删除列表中最后一个位置元素
item = list1.pop(1)
print(list1)

# 修改列表中的元素
list1[0] = '静夜思'
print(list1)

#获取列表中指定元素的下标index(object)--获取object对应的下标位置,注意index在获取指定元素下标时,只获取列表中该元素第一次出现的下标
index = list1.index('cc')
print(index)

#清空列表
list1.clear()
print(list1)

# 列表切片:列表名[start:end]--作用从列表start对应的下标截取数据直到end-1位置结束
list1 = [1,2,3,4,5,6,7,8,9]
list2 = list1[2:7]
print(list2)

#列表的合并
"""
list1+list2 --可以实现列表list1和list2内容的合并,但是该操作是将列表list1和list2中的数据依次复制一份放置到新的列表中
list1.extend(list2)--将列表list2中的数据复制一份放置到list1中
"""
list3 = [1,2,3]
list4 = [5,6,7]
list6 = list4+list3
list4.extend(list3)
print(list4)

# 列表排序sort(reverse)--reverse布尔类型,默认值为False(升序排序),如果指定为True,此时排序为降序排序
list4 = [1,3,1,2,5,3,4,2]

#列表拷贝
"""
深拷贝和浅拷贝的区别?
深拷贝也叫空间拷贝,通过深拷贝拷贝得到的是一个和原空间相同的新的空间,此时对原空间数据的修改并不会影响新空间数据,可以实现对数据的保护
浅拷贝也叫地址拷贝,通过浅拷贝,拷贝得到的是原空间地址,此时如果原空间数据发生变化,所有使用原空间的变量都会收到影响
"""
list5 = list4.copy()
list4.sort(reverse=True)
print(list4)
print(list5)

for循环 

"""
循环:程序重复不停的执行某一段相同代码
for-in循环
for item in interable:
循环体
python中for-in循环的执行原理
1、首先从可迭代容器中取出一个数据,并且将数据赋值给for关键字后后面的变量
2、其次根据循环体中的代码完成对变量中数据的处理
"""
list1 = [1,2,3,4,5]
for item in list1:
print(item)
#range(start, end, step)--python内置函数,用来快速生成从start开始到end-1结束的连续自然数组成的可迭代容器
"""
start--代表自然数生成的起始位置
end--代表自然数生成的结束位置
step--代表每一次生成的自然数和前一次自然数的数值间隔
"""
list1 = list(range(1,10,2))
print(list1)

# 输出10编helloworld
for i in range(10):
print('hello world')

 

for循环嵌套

"""
循环嵌套:
for循环内部存在另一个for循环结构
"""
# 输出结构
"""
*
* *
* * *
"""
for i in range(100):
txt = ""
for j in range(i+1):
txt += "* "
print(txt)
"""
输出100-999之间所有各个位置数字都不相等的数
"""
# 获取所有百位数字
for i in range(1,10):
#获取所有十位数字
for j in range(0,10):
# 获取所有个位数字
for k in range(0,10):
if i != j and i != k and j != k:
print(i*100+j*10+k)

# 二维列表
list1 = [[1,2], [2,3,4], [3,4,5]]
print(list1[0][2])
# 获取二维列表的所有元素
for i in range(len(list1)):
for j in range(len(list1[i])):
print(list1[i][j])

 

上一篇:B01 - 003、安装CentOS6.9系统


下一篇:浅析约瑟夫自杀环(C语言)