Python 学习随笔2 20190308

1
list [],索引,倒序索引, append(‘字符串’) ,insert(索引号,‘字符串’),pop()方法删元素

>>> L = ['Adam', 'Lisa', 'Paul', 'Bart']
要把Paul踢出list,我们就必须先定位Paul的位置。由于Paul的索引是2,因此,用 pop(2)把Paul删掉:
>>> L.pop(2)
'Paul'
>>> print L
['Adam', 'Lisa', 'Bart']
>>> L = ['Adam', 'Lisa', 'Bart']
今天,班里转来一名新同学 Paul,如何把新同学添加到现有的 list 中呢?
第一个办法是用 list 的 append() 方法,把新同学追加到 list 的末尾:

>>> L = ['Adam', 'Lisa', 'Bart']
>>> L.append('Paul')
>>> print L
['Adam', 'Lisa', 'Bart', 'Paul']
append()总是把新的元素添加到 list 的尾部。

如果 Paul 同学表示自己总是考满分,要求添加到第一的位置,怎么办?
方法是用list的 insert()方法,它接受两个参数,第一个参数是索引号,第二个参数是待添加的新元素:

>>> L = ['Adam', 'Lisa', 'Bart']
>>> L.insert(0, 'Paul')
>>> print L
['Paul', 'Adam', 'Lisa', 'Bart']
L.insert(0, 'Paul') 的意思是,'Paul'将被添加到索引为 0 的位置上(也就是第一个),而原来索引为 0 的Adam同学,以及后面的所有同学,都自动向后移动一位。

替换list里的元素

>>> L = ['Adam', 'Lisa', 'Bart']
直接用Paul把Bart给替换掉:
>>> L[2] = 'Paul'
>>> print L
L = ['Adam', 'Lisa', 'Paul']
对list中的某一个索引赋值,就可以直接用新的元素替换掉原来的元素,list包含的元素个数保持不变。

例子:班里的同学按照分数排名是这样的:

L = [‘Adam’, ‘Lisa’, ‘Bart’]

但是,在一次考试后,Bart同学意外取得第一,而Adam同学考了倒数第一。

请通过对list的索引赋值,生成新的排名。

创建tuple,等同list,但元素不可变
t = (‘Adam’, ‘Lisa’, ‘Bart’)
获取 tuple 元素的方式和 list 是一模一样的,我们可以正常使用 t[0],t[-1]等索引方式访问元素,但是不能赋值成别的元素:
包含 0 个元素的 tuple,也就是空tuple,直接用 ()表示:

>>> t = ()
>>> print t
()

正是因为用()定义单元素的tuple有歧义,所以 Python 规定,单元素 tuple 要多加一个逗号“,”,这样就避免了歧义:

>>> t = (1,)
>>> print t
(1,)

但当元素是表时,表里的内容可变,因为指向未发生改变

>>> t = ('a', 'b', ['A', 'B'])
>>> L = t[2]
>>> L[0] = 'X'
>>> L[1] = 'Y'
>>> print t
('a', 'b', ['X', 'Y'])

2**
(1) if 语句

age = 20
if age >= 18:
    print 'your age is', age
    print 'adult'
print 'END'

注意: Python代码的缩进规则。具有相同缩进的代码被视为代码块,上面的3,4行 print 语句就构成一个代码块(但不包括第5行的print)。如果 if 语句判断为 True,就会执行这个代码块。

缩进请严格按照Python的习惯写法:4个空格,不要使用Tab,更不要混合Tab和空格,否则很容易造成因为缩进引起的语法错误。

注意: if 语句后接表达式,然后用:表示代码块开始。

(2)if else

if age >= 18:
    print 'adult'
else:
    print 'teenager'

利用 if … else … 语句,我们可以根据条件表达式的值为 True 或者 False ,分别执行 if 代码块或者 else 代码块。
注意: else 后面有个“:”。

(3)if elif else
条件1:18岁或以上:adult
条件2:6岁或以上:teenager
条件3:6岁以下:kid

if age >= 18:
    print 'adult'
elif age >= 6:
    print 'teenager'
elif age >= 3:
    print 'kid'
else:
    print 'baby'

(4)for 循环
Python的 for 循环就可以依次把list或tuple的每个元素迭代出来:

L = ['Adam', 'Lisa', 'Bart']
for name in L:
    print name

注意: name 这个变量是在 for 循环中定义的,意思是,依次取出list中的每一个元素,并把元素赋值给 name,然后执行for循环体(就是缩进的代码块)。

例子:班里考试后,老师要统计平均成绩,已知4位同学的成绩用list表示如下:

L = [75, 92, 59, 68]

请利用for循环计算出平均成绩。

L = [75, 92, 59, 68]
sum = 0.0
for x in L:
    sum = sum + x
print sum / 4

(5)while 循环
利用 while True 无限循环配合 break 语句,计算 1 + 2 + 4 + 8 + 16 + … 的前20项的和。

sum = 0
x = 1
n = 1
while True:
    if n > 20:
        break
    sum = sum + x
    x = x * 2
    
    n = n + 1
print sum

猜你喜欢

转载自blog.csdn.net/Pureicew/article/details/88326944
今日推荐