首页 > 编程语言 > 详细

【和孩子一起学编程】 python笔记--第四天

时间:2018-06-12 18:59:15      阅读:213      评论:0      收藏:0      [点我收藏+]

第十一章:

可变循环

newStars = int(input("how many stars do you want?"))
for i in range(newStars):
    print("*")

#输出:
#how many stars do you want? 3
#*
#*
#*

可变嵌套循环

newline = int(input("how many lines do you want?"))
newStars = int(input("how many stars do you want?"))
for j in range(newline):
    for i in range(newStars):
        print(*)

长代码行:用反斜杠(\)或者加小括号()

lines = a+b+             c + d +             e + f

lines = (a+b+ c + d + e + f)

 

十二章:列表

创建一个空列表

newList = []

向空列表里追加内容:

调用函数.append()

newList = []
newList.append(abc)
print(newList)

向列表追加元素之前,必须现有列表,追加的元素在列表最末尾

列表里的元素类型可以是多样的,包括数字,字符串,对象,其他列表

列表有点像是c中的数组

查找列表中的元素:

newList=[a,b,c,d,e,f]
print(newList[3])

#输出为:’d‘

列表分片:

newList=[a,b,c,d,e,f]
print(newList[1:4])


#[‘b‘, ‘c‘, ‘d‘]

输出还是一个列表,列表包含下界不包含上界,和range()一样,而上面查找输出的是字符

分片简写;

newList=[a,b,c,d,e,f]
print(newList[1:])
#[‘b‘, ‘c‘, ‘d‘, ‘e‘, ‘f‘]  输出从第二个到结尾


newList=[a,b,c,d,e,f] print(newList[:4]) #[‘a‘, ‘b‘, ‘c‘, ‘d‘] 从第一个到第四个 newList=[a,b,c,d,e,f] print(newList[:]) #[‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘, ‘f‘] 输出整个列表

向列表增加元素的其它方法:

技术分享图片

append()只在末尾增加一个元素;

extend()如下:

newList=[a,b,c,d,e,f]
newList.extend([g,h,i])
print(newList)

技术分享图片

 insert(): 

 技术分享图片

技术分享图片

 这时append()添加了一个列表[‘f‘,‘g‘,‘h‘]而不是在原列表里添加三个字符。

 删除列表元素:

remove()、del、pop()

newList=[a,b,c,d,e,f]
newList.remove(a)
print(newList)

remove()不需要知道元素具体位置,只要知道元素存在即可

del允许利用索引从列表删除元素:

newList=[a,b,c,d,e,f]del newList[3]
print(newList)

pop()从列表 取出 最后一个 元素交给你。这说明你可以为它指派一个名字:

newList=[a,b,c,d,e,f]
new = newList.pop()
print(new)

也可以指定列表中的一个元素取出:

newList=[a,b,c,d,e,f]
new = newList.pop(3)
print(new)

 

搜索列表

in关键字:

newList=[a,b,c,d,e,f]
if a in newList:
    print(exist)

‘a‘ in newList 是一个boole表达式,会返回ture或false:

newList=[a,b,c,d,e,f]
a in newList
# ‘a‘在列表返回ture
# 不在列表里的返回false

查找索引:

newList=[a,b,c,d,e,f]
print(newList.index(d))
#输出‘d‘在列表中的索引 3

如果列表中没有这个值,index()会给出一个错误,所以最好结合in使用:

newList=[a,b,c,d,e,f]
if d in newList:
    print(newList.index(d))

循环处理列表:

newList=[a,b,c,d,e,f]
for i in newList:
    print(i)

 

列表排序
使用sort()方法:

newList=[b,a,c,f,d,e]
newList.sort()
print(newList)

sort()方法会自动按照字母顺序排序,如果是 数字会按照从小到大排序

sort()会修改原列表,而不是创建一个新的列表

按逆序排序:

1:先正序排好,然后对这个列表逆置(reverse)

newList=[b,a,c,f,d,e]
newList.sort()
newList.reverse()
print(newList)

2:向sort()增加一个参数,直接让它按降序排序(从大到小)

newList=[b,a,c,f,d,e]
newList.sort(reverse = 1)     #原书中为reverse = Ture,但是编译器报错,说Ture未定义
print(newList)

刚才的排序和逆置都是对原来的列表修改,如果想保留原来的列表,可以用分片记法建立副本

newList=[b,a,c,f,d,e]
new = newList[:]
new.sort(reverse = 1)
print(new)

另一种排序方法:

sorted(),可以得到一个列表的有序副本而不会影响原列表顺序

newList=[‘b‘,‘a‘,‘c‘,‘f‘,‘d‘,‘e‘]
new = sorted(newList)
print(newList)
print(new)

可改变和不可改变:

在python中数字和字符串是不可改变的,而列表是可改变的。

有些情况下你可能不希望列表可以改变。

有一个名为元组(tuple)的类型,这就属于不可改变的列表:

my_tuple = (a,b,c)

这里使用了圆括号,而不是中括号。

由于元组不可改变,所以不能对元组进行排序、追加、删除

一旦元组创建,它就会一直保持不变

 

双重列表:数据表

类似于c中的二维数组

一种建立双重列表的方法:

a = [12,23,232,44]
b = [1234,3434,4,6]
c = [121,222,333,444]
d = [a,b,c]
for i in d:
    print(i)

也可以直接创建d

d = [[12,23,232,44],[1234,3434,4,6],[121,222,333,444]]
for i in d:
    print(i)

从表中获取一个值:

d = [[12,23,232,44],[1234,3434,4,6],[121,222,333,444]]
print(d[0][3])

 

【和孩子一起学编程】 python笔记--第四天

原文:https://www.cnblogs.com/zhouya1/p/9174493.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!