今天看了列表与元组,其实列表和Java中数组差不多,元组的话就是不可变的列表,不能改变值,但是可以改变其引用。
区别:
列表是用 [] 定义;
元组使用 () 定义。
今天的重点是:
python根据缩进来判断代码行与前一个代码行的关系
具体内容如下:
列表的定义:
列表名 = [ 元素1,元素2,…]
元素与元素间逗号隔开
#定义列表举例
books = ['java','python','html','sql','javascript']
获取值:列表名[元素位置]
注意:元素位置从0开始,[]中传入-1,则是获取最后一个,-2倒数第二个,以此类推…
#获取列表元素举例
print(books[1])#打印python
print(books[-2])#打印sql
#books = ['java','python','html','sql','javascript']
列表的修改:
列表名[要修改的元素位置]=新的元素内容
#列表元素修改举例
books[3] = 'Oracle'
#修改后列表
books = ['java','python','html','Oracle','javascript']
列表末尾添加元素:列表名.append(要添加的元素内容)
在列表中插入元素:列表名.insert(插入的元素位置,插入的元素内容)
#列表插入元素举例
books.append('jdbc')
#books = ['java','python','html','Oracle','javascript','jdbc']
books.insert(3,'ajax')
#books = ['java','python','html','ajax','Oracle','javascript','jdbc']
从列表中删除元素:del 列表名[删除元素在列表中的位置]
删除列表末尾元素:变量=列表名.pop()同样获取删除元素的内容
弹出列表任何位置处的元素:pop()里传入元素位置索引
根据值删除元素:列表名.remove(元素内容)
注意:remove只能删除第一个指定的值。
#列表元素删除举例
#del
del books[2]
#books = ['java','python','ajax','Oracle','javascript','jdbc']
#pop()
print(books.pop())#输出jdbc
#books = ['java','python','ajax','Oracle','javascript']
print(books.pop(3))#输出Oracle
#books = ['java','python','ajax','javascript']
#remove
books.remove('ajax')
#books = ['java','python','javascript']
列表排序(永久性):列表名.sort()默认a-z
列表名.sort(reverse=True)反序z-a
列表排序(临时性):sorted(列表名)反序sorted(列表名,reverse=True)
列表顺序反转:列表名.reverse()
列表长度:len(列表名)
#列表元素排序举例
books.sort()
#books = ['java','javascript','python']
print(sorted(books,reverse=True))#输出['python','javascript','java']
#books = ['java','javascript','python']
books.reverse()
#books = ['python','javascript','java']
len(books)#输出3
遍历列表:
for 变量 in 列表名:
print(变量名)
注意:冒号下一行要缩进!!!缩进几行for循环执行几行
冒号后面不缩进会报错:IndentationError: expected an indented block
#遍历列表
for book in books:
print(book)#输出python,javascript,java(都换行的,这里为了方便没有写)
数值列表:
函数range()
for value in range(1,5):
print(value)#打印1~4,包头不包尾
for value in range(2,11,2):
print(value)#打印2 4 6 8 10
range(初值,终值,每次加的数(不写默认1))
乘方用**表示
列表最大值:max(列表名)
列表最小值:min(列表名)
总和:sum(列表名)
print(list(range(1,5)))#打印[1,2,3,4]
s = list(range(1,5))
print(max(s))#打印4
print(min(s))#打印1
print(sum(s))#打印10
列表解析:
列表名 = [表达式 for 临时变量 in range()]
s = [value**3 for value in range(1,4)]
print(s)#打印[1,8,27]
切片
列表名[开始元素位置:结束元素位置+1]
print(s[0:2]) #打印[1,8]
列表复制:a = b[:]
s1 = s[:]
print(s1) #打印[1,8,27]
元组:不可修改的列表
元组名=(元素,元素)
y = (200,50)
y[0] = 250 #报错,不可修改
今天的学习就到这里