Python学习笔记(列表、循环)

list类型,也叫做列表,或者数组,它与c或java中的数组有相同处也有不同处,这里的list类型方括号内可以是不同类型的数据


1.创建列表,列表中的项总是使用方括号[]括住,你可以直接通过常量来创建列表,也可能通过变量来创建列表,也可以变量跟常量混合来创建列表。但当你使用变量创建列表时,保存在列表里的只是变量内容的一个副本,你改变最初的变量的值,并不会改变列表中的值。
当你使用列表中的值时是通过列表的索引来获取的,索引是从0开始,到总长度-1结束,如果你的索引超过了最大索引编号,则会报错。如果你使用一个负数做索引,它将会从最后一项开始反向计数,-1就是列表的最后一项。

>>> fruit=['apple','strawberry']
>>> fruit[0]
'apple'
>>> time1='morning'
>>> time2='afternoon'
>>> times=[time1,time2]
>>> times[1]
'afternoon'
>>> times[2]
Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>
    times[2]
IndexError: list index out of range
>>> time=[time1,time2,'evening']
>>> time[2]
'evening'
>>> time2='sss'
>>> times[1]
'afternoon'
>>> time2
'sss'

2.获取列表信息的一些操作
len()获取列表的长度,len(列表名)
count()统计列表中某一项在列表中出现的次数,列表名.count(列表项)
index()返回该项在列表中第一次出现的索引位置,如果该项不在列表中,将会报错,列表名.index(列表项)
in关键字,用来判断该项是否在列表中,列表项 in 列表名

>>> color=['red','blue','magenta','red','yellow','blue']
>>> len(color)
6
>>> color.index('red')
0
>>> color.count('blue')
2
>>> 'pink' in color
False
>>> 'yellow' in color
True
>>> color.index('pink')
Traceback (most recent call last):
  File "<pyshell#21>", line 1, in <module>
    color.index('pink')
ValueError: 'pink' is not in list

3.操作列表
前提条件:列表必须已经存在了,才能进行下列操作
1>在列表末尾添加项,用append()方法,列表名.append(列表项)
2>在列表末尾添加一个列表,用extend()方法,列表名.extend(列表项)
3>删除列表中的项并将该项后面的项向前移动一位,用remove()方法,列表名.remove(列表项),但是该方法只会删掉该列表中的第一个项,如果在列表中没有找到对应的项,将会报错
4>在列表的指定位置添加项,用insert()方法,列表名.insert(索引,列表项)

>>> order1=['pixxa','fries','balava']
>>> order2=['soda','lasagna']
>>> order1.append('pepperoni')
>>> order1
['pixxa', 'fries', 'balava', 'pepperoni']
>>> order1.extend(order2)
>>> order1
['pixxa', 'fries', 'balava', 'pepperoni', 'soda', 'lasagna']
>>> order1.remove('fries')
>>> order1
['pixxa', 'balava', 'pepperoni', 'soda', 'lasagna']
>>> order1.insert(1,'soda')
>>> order1
['pixxa', 'soda', 'balava', 'pepperoni', 'soda', 'lasagna']

4.列表的加法,不会改变任何一个列表,但会返回带有所有项的一个列表
列表的乘法,将列表重复n遍成为一个新列表

>>> a=[1,2,3]
>>> b=[2,3,4]
>>> a+b
[1, 2, 3, 2, 3, 4]
>>> a*2
[1, 2, 3, 1, 2, 3]

5.反转列表,reverse()方法,将反转列表中所有项的顺序,列表名.reverse()
升序排序列表,sort()方法,要么按字母顺序,要么按数字顺序,不能两者混合,列表名.sort()

>>> names=['mov',1,2]
>>> names
['mov', 1, 2]
>>> names.sort()
Traceback (most recent call last):
  File "<pyshell#48>", line 1, in <module>
    names.sort()
TypeError: '<' not supported between instances of 'int' and 'str'
>>> names=['mov','ddd','dfdf']
>>> names.sort()
>>> names
['ddd', 'dfdf', 'mov']
>>> names.reverse()
>>> names
['mov', 'dfdf', 'ddd']

6.列表的比较是通过==(等于)和!=(不等于)来进行的,等于要求每一项都一样,只要有一项不同就会返回False,不等于也一样,只要有一项相同,就会返回False。

循环

1.使用range()来获取数字的范围,会返回一个数字的列表,从0 开始到参数少1,range(数字),如果不想从0开始,就给range()两个参数,开始的数字和结束的数字,range(开始数,结束数),如果想让range()按照一定数值(称为步长)递增,给range()三个参数,开始数,结束数,步长。


2.for循环的格式    for {var}int {LIST}:
                                 code block
                                 code block
每次for循环运行时,在var位置的变量将设置为列表中的下一项,直到列表中没有项时,Python将会跳过这段代码。
遍历range()

>>> range(7)
range(0, 7)
>>> range(2,5)
range(2, 5)
>>> for i in range(5):
	print(i)

	
0
1
2
3
4

遍历列表

>>> foods=['egg','apple','cocl']
>>> for food in foods:
	print(food)

	
egg
apple
cocl

3.跳到下一个列表项,continue()语句
跳出循环,break()语句

4.while循环,一直运行,直到一个表达式为假

age=input("please input your age:")
while not age.isdigit():
    print("I'm sorry,but{}isn't valid.".format(age))
    age=input("please input your age:")
print("Thanks!your age is {}".format(age))
'''
please input your age:dfds
I'm sorry,butdfdsisn't valid.
please input your age:24dd
I'm sorry,but24ddisn't valid.
please input your age:23
Thanks!your age is 23
'''

isditit()判断字符串是不是数字,如果是为真,否则为假

小结:如果在你循环的时候改变了列表的值,循环将会使用修改后的内容,如果想使用降序来显示一个范围,将步长用负数来写,eg:range(10,0,-1),这是获取从10到1的范围

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值