-
列表的定义也是通过中括号
[]
来定义的,但这和通过索引访问列表里面的元素并不冲突。列表和字符串一样,也支持切片,通过切片的方式,获取到列表的子列表。如果我们越界切片的话,不会出现Python运行错误,但是按照这样的下标去切片,获取不到任何元素。
查看全部 -
注意,如果替换一个不存在的下标,则同样会引起Python运行错误。
L = ['Alice', 'Bob', 'Candy', 'David', 'Ellena'] L[6] = 'Canlina' Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: list assignment index out of range
查看全部 -
这个时候我们可以使用列表的pop()方法,pop()方法默认删除列表的最后一个元素,并返回。
L = ['Alice', 'Bob', 'Candy', 'David', 'Ellena'] name = L.pop() print(name) # ==> Ellena print(L) # ==> L = ['Alice', 'Bob', 'Candy', 'David']
pop()方法,除了可以删除最后一个元素以外,pop()还可以接收一个参数,指定需要删除的元素的位置。
L = ['Alice', 'Bob', 'Candy', 'David', 'Ellena'] name = L.pop(2) print(name) # ==> Candy print(L) # ==> ['Alice', 'Bob', 'David', 'Ellena']
查看全部 -
names = ['Alice', 'Bob', 'David', 'Ellena'] names.append('Candy') print(names) # ==> ['Alice', 'Bob', 'David', 'Ellena', 'Candy']
注意,
append()
方法总是将元素添加到list的尾部。
如果上面的列表需要按照首字母排序的话,那么Candy应该是排在第三的位置的,这怎么办呢?
这就需要使用list的insert()
方法,insert()方法和append()方法不一样,insert()方法需要两个参数,分别是需要插入的位置,以及需要插入的元素。names = ['Alice', 'Bob', 'David', 'Ellena']
names.insert(2, 'Candy')
print(names) # ==> ['Alice', 'Bob', 'Candy', 'David', 'Ellena']查看全部 -
Python的列表,除了支持正向顺序索引获取列表中的每一个元素以外,也支持倒序访问list中的每一个元素。
names = ['Alice', 'Bob', 'David', 'Ellena']
对于names列表,
Ellena
的名字排在最后,也就是我们所说的倒数第一个,在Python中,可以使用-1
来表示最后一个元素。names = ['Alice', 'Bob', 'David', 'Ellena'] print(names[-1]) # ==> Ellena
同样的道理,我们可以通过
-2
,打印出David
的名字,通过-3
,打印出Bob
的位置。查看全部 -
回顾一下前面学习的,我们通过中括号
[]
来按位置访问对应的元素。
注意,这里要注意区分,列表的定义也是通过中括号[]
来定义的,但这和通过索引访问列表里面的元素并不冲突names = ['Alice', 'Bob', 'David', 'Ellena'] print(names[0]) print(names[1]) print(names[2]) print(names[3])
查看全部 -
列表(list)是一种有序的容器,放入list中的元素,将会按照一定顺序排列。构造list的方法非常简单,使用中括号
[]
把需要放在容器里面的元素括起来,就定义了一个列表。
比如列出所有同学们的成绩:scores = [45, 60, 75, 86, 49, 100]
查看全部 -
就像多层if-else嵌套一样,python的循环也支持嵌套。
我们使用两层嵌套循环输出字符串'ABC'中每个字符和字符串'123'每个字符的排列。s1 = 'ABC' s2 = '123' for x in s1: for y in s2: print(x + y)
查看全部 -
这个时候for循环就可以派上用场了。
s = 'ABCD' for ch in s: print(ch) # 注意缩进
在上述代码中,
ch
是在for循环中定义的,意思是把字符串s
中的每一个元素依次赋值给ch,然后再把ch打印出来,直到打印出字符串s的最后一个字符为止。查看全部 -
我们可以使用if-elif-else语句来简化以上的逻辑。其中elif就是else if的意思。
score = 59 if score < 60: print('抱歉,考试不及格') elif score >= 90: print('恭喜你,拿到卓越的成绩') elif score >= 80: print('恭喜你,拿到优秀的成绩') else: print('恭喜你,考试及格')
这样,我们就可以写出代码结构非常清晰的一系列条件判断了。
查看全部 -
可以看到
print('抱歉,考试不及格')
这行代码明显比上一行代码缩进了,这是因为这行代码是if判断的一个子分支,因此需要缩进,在Python规范中,一般使用4个空格作为缩进在if语句的最后,有一个冒号
:
,这是条件分支判断的格式,在最后加入冒号:
,表示接下来是分支代码块
查看全部 -
# Enter a code
L = [75, 92, 59, 68, 99]
sum = 0.0
for ch in L:
sum = sum + ch
print(sum/5)
print(sum/5)
不缩进的print是循环结束之后的打印,只有一次;缩进的print是每一次循环都打印一次。
查看全部 -
3-9;Python的字符串切片
s = 'ABCDEFGHIJK'
abcd = s[0:4] # 取字符串s中的第一个字符到第五个字符,不包括第五个字符
print(abcd) # ==> ABCD
cdef = s[2:6] # 取字符串s中的第三个字符到第七个字符,不包括第七个字符
print(cdef) # ==> CDEF查看全部 -
Python的字符串format
# 指定顺序 template = 'Hello {0}, Hello {1}, Hello {2}, Hello {3}.'
result = template.format('World', 'China', 'Beijing', 'imooc') print(result) # ==> Hello World, Hello China, Hello Beijing, Hello imooc.
# 调整顺序 template = 'Hello {3}, Hello {2}, Hello {1}, Hello {0}.'
result = template.format('World', 'China', 'Beijing', 'imooc')
print(result) # ==> Hello imooc, Hello Beijing, Hello China, Hello World.
查看全部 -
如果要表示多行字符串,可以用
'''...'''
表示'''Python is created by "Guido". It is free and easy to learn. Let's start learn Python in imooc!'''
查看全部
举报