[Python日记-2]列表-元组-字典-if-for
今天学习了列表,元组,字典相关知识,真的琐碎。我应该是学了好几遍了,刚开始是充满激情的,学到一个方法就迫不及待地去尝试,现在也平和了。好了,总结下。
1. 列表
Python中用方括号([])来表示列表,并用逗号来分隔其中的元素。要访问列表元素,列表的名称[索引]。
索引可以是负值,如将索引指定为-1,可让Python返回最后一个列表元素。可以在不明确列表长度的情况下,访问最后的元素。
1.1 列表中添加元素的方法:
1 Lis = [] 2 3 Lis.title() #使列表中每个元素的首字母大写 4 5 Lis.append('apple') #将'apple'元素添加到列表末尾 6 7 Lis.insert(0,'apple') #在Lis列表的索引为0的位置,添加元素'apple'
其中,由于经常要等到程序运行后,才知道用户要在程序中储存哪些数据。为控制用户,可首先创建一个空列表,用于储存用户将要输入的值,然后将用户提供的每个新值附加到列表中(append)。
1.2 列表中删除元素的方法:
Lis = [] del Lis[0] #删除Lis列表中某一索引的值 pop_imp = Lis.pop() #弹出列表最后一个元素的值,并由pop_imp储存 pop_imp = Lis.pop(0) #弹出列表第一个元素的值,并由pop_imp储存 Lis.append('apple') Lis.remove('apple') #删除列表中某元素的值
如果要从列表中删除一个元素,且不再以任何方式使用,就使用del()
如果在删除元素后还能继续使用它,就使用方法pop()
1.3 组织列表(排序)
a. 方法sort()永久性的修改了列表元素的排序顺序(首字母比较)。还可以按与字母顺序相反的顺序排列列表元素,只需向sort()方法传递参数 reverse=True。
b. 函数sorted()可以按照特定顺序显示元素(临时),而不影响它们在列表中的原始顺序。也可向函数sorted()传递参数 reverse=True。
c. 反转列表元素 reverse()。reverse永久性的修改列表元素的排列顺序,但再次调用reverse可以恢复。
d. len() 可以快速获取列表长度(列表中所含元素个数)。
Lis.sort(reverse=True) #参数非必要 Lis.sorted(reverse=True) #临时调整 Lis.reverse() Lis.len()
tips:用负数索引列表时可以有效避免越界问题,除非列表为空。
2. 遍历循环
这里简述for循环、迭代、数字列表生成等。
for car in cars: print(car) #注意缩进及冒号 for i in range(0,3) #可以看作0为初始值,3为所要求生成的个数 even_numbers = list(range(2,11,2)) #打印1-10的偶数,range()还可以指定步长
这里展示如何将前10个整数的平方加入到一个列表中:
squares = [] for val in range(1,11): square = val**2 #乘方符号** squares.append(square) print(squares)
同时列表解析将for循环和创建新元素的代码合并成一行,并自动附加新元素。下面实例使用列表解析创建平方数列表:
square = [value**2 for value in range(1,11)] print(squares)
3.切片
可以用for循环遍历切片列表,做到控制循环的作用。
列表切片的默认值为头到尾
Lis[0:2] #第1个元素到第3个 Lis[2:] #返回从第3个元素到列表末尾的所有元素 Lis[-3:] #返回列表最后3个元素 Lis[:3] #返回列表前3个元素
Lis_1 = Lis[:] #Lis列表复制到Lis_1
4. 元组
试图修改元组的操作是被禁止的,Python指出不能修改元组元素的值。但是可以修改元组变量的值。
元组使用圆弧括号()包起来的一系列元素,索引格式:元组名[索引]
dimensions = (200,50) dimensions = (400,100) for dim in dimensions: print(dim)
元组默认有min,max,sum方法。
5. 字典
字典其实就是键-值对,形如 {"key" : "value"}。本身可以包含列表,元素,字典。也可被其所包围,有点像C语言里的结构体,一种存储方式。
favorite_languages = { 'jen': 'python', 'sarah': 'c', 'edward': 'ruby', 'phil': 'python', } # del favorite_language['jen'] 删除某一键值对 for k,v in dic.items() #遍历字典 for name in favorite_language.key(): print(name.title)
显式的使用方法key()可让代码更容易理解,如果去掉,输出不变。同理,方法value()也是如此。
6. if结构
没得说,编程语言中最基础的一条流程控制语句。
Python是一个区分大小写的语言,所以即使是相同的一条字符串,大小写不同也会被视为不相等。
6.1 检查条件
a. 逻辑符号:and,or
b. 检查是否包含:in,not in
if user not in users: print('false')
6.2 if语句的基本流程
if conditinal_test: do something elif conditional_test: do another thing else: do something else
其中可以多层嵌套,或者嵌套其他流程控制语句,视情况而定。
小结:
今天学的都是些琐碎的东西,戒骄戒躁,明天继续前进,可能这周能结束python基础学习,做出一个项目来。