Python学习——for循环(二)
【1】#切片处理及遍历,即对列表中指定区间的元素进行操作:
已知列表eng_list=['one','two','three','four','five','six'],元素在列表中的标号原理,第一个元素one是从0开始计数的,原理展示如下:
程序:
print("元素在列表的中标号如下:")
num_list=[,1,2,3,4,5]
eng_list=['one','two','three','four','five','six']
fornuminnum_list:
print('元素'+ eng_list[num] +'\t\t在列表存储中的编号\t'+str(num))
输出结果:
元素在列表的中标号如下:
元素one 在列表存储中的编号 0
元素two 在列表存储中的编号 1
元素three 在列表存储中的编号 2
元素four 在列表存储中的编号 3
元素five 在列表存储中的编号 4
元素six 在列表存储中的编号 5
已知元素在列表中的编号规则后,例如提取eng_list中的第二个元素到第五个元素,第二个元素编号即为1,第五个元素的编号即为4。(注意:在Python中,如果要提取输出第二个到第五个元素,第二个元素编号为1,第五个元素编号为4,实际操作如下)
1)pycharm
程序:
eng_list=['one','two','three','four','five','six']
fornuminrange(1,5):
print('第'+str(num+1)+'个元素\t'+ eng_list[num]
+'\t在对应列表中的存储编号\t'+str(num))
输出结果:
第2个元素 two 在对应列表中的存储编号 1
第3个元素 three 在对应列表中的存储编号 2
第4个元素 four 在对应列表中的存储编号 3
第5个元素 five 在对应列表中的存储编号 4
2)python 3.6
>>> eng_list=['one','two','three','four','five','six']
>>> print(eng_list[1:5])#此处元素输出显示终止于5前面的4
['two', 'three', 'four', 'five']
冒号:的作用,表示列表的尽端,如下所示
>>> eng_list=['one','two','three','four','five','six']
>>> print(eng_list[:4])
['one', 'two', 'three', 'four']
>>> print(eng_list[3:])
['four', 'five', 'six']
【2】#复制列表,即创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引([:])。这让Python创建一个始于第一个元素,终止于最后一个元素的切片,即复制整个列表。
1)正确的列表复制:copy_eng_list=eng_list[:],完成复制成功后,对二者中任一列表进行变动均不会改变另一个列表的内容,对应结果如下:
程序:
eng_list=['one','two','three','four','five','six']
copy_eng_list=eng_list[:]#列表复制操作
print('1、得到复制列表copy_eng_list: ',copy_eng_list,'\n')
eng_list.append('赵四')
print('2.1、修改后的eng_list: ',eng_list,'———在某位加入了新元素”赵四“')
print('2.2、copy_eng_list: ',copy_eng_list,'———未发生变化','\n')
copy_eng_list.append('刘能')
print('3.1、修改后的copt_eng_list: ',copy_eng_list,'———在某位加入了新元素”刘能“')
print('3.2、eng_list: ',eng_list)
输出结果:
1、得到复制列表copy_eng_list: ['one', 'two', 'three', 'four', 'five', 'six']
2.1、修改后的eng_list: ['one', 'two', 'three', 'four', 'five', 'six', '赵四'] ———在某位加入了新元素”赵四“
2.2、copy_eng_list: ['one', 'two', 'three', 'four', 'five', 'six'] ———未发生变化
3.1、修改后的copt_eng_list: ['one', 'two', 'three', 'four', 'five', 'six', '刘能'] ———在某位加入了新元素”刘能“
3.2、eng_list: ['one', 'two', 'three', 'four', 'five', 'six', '赵四']
2)其他,如果这样操作copy_eng_list=eng_list,对二者中任一列表进行变动均会改变另一个列表的内容,对应结果如下
程序:
eng_list=['one','two','three','four','five','six']
copy_eng_list=eng_list#注意
print('1、同样得到列表copy_eng_list: ',copy_eng_list,'\n')
eng_list.append('赵四')
print('2.1、修改后的eng_list: ',eng_list,'———在某位加入了新元素”赵四“')
print('2.2、copy_eng_list: ',copy_eng_list,'———发生变化','\n')
copy_eng_list.append('刘能')
print('3.1、修改后的copt_eng_list: ',copy_eng_list,'———在某位加入了新元素”刘能“')
print('3.2、eng_list: ',eng_list,'———发生变化')
输出结果:
1、同样得到列表copy_eng_list: ['one', 'two', 'three', 'four', 'five', 'six']
2.1、修改后的eng_list: ['one', 'two', 'three', 'four', 'five', 'six', '赵四'] ———在某位加入了新元素”赵四“
2.2、copy_eng_list: ['one', 'two', 'three', 'four', 'five', 'six', '赵四'] ———发生变化
3.1、修改后的copt_eng_list: ['one', 'two', 'three', 'four', 'five', 'six', '赵四', '刘能'] ———在某位加入了新元素”刘能“
3.2、eng_list: ['one', 'two', 'three', 'four', 'five', 'six', '赵四', '刘能'] ———发生变化
【3】#元组:元组看起来犹如列表,但使用圆括()号而不是方括号[]来标识。定义元组后,就可以使用索引来访问其元素,就像访问列表元素一样
1)对于元组可以对其重新赋值,及输出其中的某一元素,但不能单独对其中的某一元素通过下表的形式进行修改
程序:
coordinate=(10,15)#用元组定义一个二维坐标
#输出x,y坐标
print('x=',coordinate[])
print('y=',coordinate[1])
print(coordinate)
#对coordinate重新赋值
coordinate=(12123,12312)
print('\n重新赋值后的结果: ',coordinate)
输出结果:
x= 10
y= 15
(10, 15)
重新赋值后的结果: (12123, 12312)
2)错误示范:单独对其中的某一元素通过下表的形式进行修改
>>> coordinate=(10,15)
>>> coordinate[0]=8
Traceback (most recent call last):
File "",line 1, in
TypeError: 'tuple' object does not support item assignment
微信搜索公众号:玩转学习吧
领取专属 10元无门槛券
私享最新 技术干货