1、列表,Python中列表可以修改,而字符串和元组不能。
#列表的一部分方法
>>> list1 = [11,55,21,1,85,33,66]
>>> list1.append(10)
>>> list1
[11, 55, 21, 1, 85, 33, 66, 10]
>>> list1.extend([100,200,300])
>>> print("extend([100,200,300])",list1)
extend([100,200,300]) [11, 55, 21, 1, 85, 33, 66, 10, 100, 200, 300]
>>> list1.remove(1)
>>> print("remove(1):",list1)
remove(1): [11, 55, 21, 85, 33, 66, 10, 100, 200, 300]
>>> list1.pop(8)
200
>>> print("list1.pop(8):",list1)
list1.pop(8): [11, 55, 21, 85, 33, 66, 10, 100, 300]
>>> list1.index(10)
6
>>> list1.count(10)
1
>>> list1[0:8:2]
[11, 21, 33, 10]
>>> list1.clear()
>>> list1
[]
2、将列表当做堆使用(先进后出),将列表当做队列使用(先进先出),主要是演示列表的使用方法
#将列表当堆使用
>>> list1 = [11, 55, 21, 85, 33, 66, 10, 100, 300]
>>> list1.append(20)
>>> list1.append(9999)
>>> list1
[11, 55, 21, 85, 33, 66, 10, 100, 300, 20, 9999]
>>> list1.pop()
9999
>>> list1.pop()
20
>>> list1
[11, 55, 21, 85, 33, 66, 10, 100, 300]
>>>
#将列表当做队列使用,(效率不高,涉及到元素的移动,当列表的元素很多时,耗时)
>>> list1
[11, 55, 21, 85, 33, 66, 10, 100, 300]
>>> list1 = [11, 55, 21, 85, 33, 66]
>>> list1.append(8888)
>>> list1.pop(0)
11
>>> list1.pop(0)
55
>>> list1.append(1000)
>>> list1
[21, 85, 33, 66, 8888, 1000]
>>>
3、列表推导式,列表推导式提供了从序列创建列表的简单途径,其实将表达式简化成一行
#简单片段
>>> list1 = [1,2,3]
>>> [3 * x for x in list1]
[3, 6, 9]
>>>
#简单打印9*9乘法口诀的值
>>> [i * j for i in range(1, 10) for j in range(1, i+ 1)]
[1, 2, 4, 3, 6, 9, 4, 8, 12, 16, 5, 10, 15, 20, 25, 6, 12, 18, 24, 30, 36, 7, 14, 21, 28, 35, 42, 49, 8, 16, 24, 32, 40, 48, 56, 64, 9, 18, 27, 36, 45, 54, 63, 72, 81]
>>>
#将3*4的矩阵修改为3*4的矩阵
>>> list2 = [[1,2,3],[1,2,3],[1,2,3],[1,2,3]]
>>>> [[row[i] for row in list2] for i in range(3)]
[[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]]
4、集合,集合是一个无序不重复元素的集,基本功能包括关系测试和消除重复元素。
可以用大括号({})创建集合
>>> set1 = set('safafafsafsafg')
>>> set2= set('safs1a212asfa1f2')
>>> set1 - set2
{'g'}
>>> set1 | set2 #在set1或者在set2中
{'f', 'g', '1', '2', 'a', 's'}
>>> set1 ^ set2 #在set1中或在set2中,但不同时在两者
{'g', '2', '1'}
>>> set1 & set2 #既在set1中也在set2中
{'f', 's', 'a'}
>>> set2 #去除重复的元素
{'f', '1', '2', 'a', 's'}
>>>
5、遍历
#构造函数 dict() 直接从键值对元组列表中构建字典 遍历字典的键值对
>>> dict1 = dict([("name","apple"),("color","red"),("price",800)])
>>> dict1
{'name': 'apple', 'color': 'red', 'price': 800}
>>> for key,value in dict1.items():
print(key,"->",value)
name -> apple
color -> red
price -> 800
>>>
#enumerate()内建函数遍历列表
>>> list1 = list(range(5))
>>> for index ,value in enumerate(list1):
print(index,"->",value)
0 -> 0
1 -> 1
2 -> 2
3 -> 3
4 -> 4
>>>
#利用reversed()反序遍历列表,注意:::reversed()不该原值
>>> list1 = list(range(5))
>>> for index ,value in enumerate(reversed(list1)):
print(index,"->",value)
0 -> 4
1 -> 3
2 -> 2
3 -> 1
4 -> 0
>>> list1
[0, 1, 2, 3, 4]
>>>
6、输出格式化
format() 函数括号及其里面的字符 (称作格式化字段) 将会被 format() 中的参数替换
>>> print('{} --->{}'.format("wang", "yun"))
wang --->yun
>>>> print('{boy} --->{girl}'.format(boy ="wang", girl ="yun"))
wang --->yun
>>> list1 = [1,2,3]
>>> dict1={"wang":"yun"}
>>> print("{}---{}".format(list2,dict1))
[[1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3]]---{'wang': 'yun'}
>>>
input() 函数从标准输入读入一行文本,默认的标准输入是键盘(默认输入的是字符串,如果需要数字的话(int(input(文本)))
>>> str = input("name:")
name:wang
>>> print("name is:", str)
name is: wang
>>>
7、文件的读和写
open() 将会返回一个 file 对象,语法结构:open(file,model)
read(size)读取文件中的数据,这将读取一定数目的数据, 然后作为字符串或字节对象返回
tell() 返回文件对象当前所处的位置, 它是从文件开头开始算起的字节数
seek()如果要改变文件当前的位置, 可以使用 f.seek(offset, from_what) 函数,from_what 的值, 如果是 0 表示开头, 如果是 1 表示当前位置
>>> f = open('/Users/wangyue/Desktop/wangyue.txt', "w")
>>> f.write("wwwwwww\nwwwwwwww8888888\nwwwwwwwww")
>>> f.close()
>>> f = open('/Users/wangyue/Desktop/wangyue.txt','r')
>>> f.read()
'wwwwwww\nwwwwwwww8888888\nwwwwwwwww'
>>> f.close()
>>> f=open("/Users/wangyue/Desktop/wangyue.txt", "r")
>>> f.readline() #读一行
'wwwwwww\n'
>>> f.readline(2) #读取下一行的size为2的字符
'ww'
>>> f.readline(5) #读取下一行的size为5的字符
'wwwww'
>>> f.readline() #读取一行
'w8888888\n'
>>>
>>> f.close()
>>> f= open("/Users/wangyue/Desktop/wangyue.txt","r")
>>> f.tell()
0
>>> f.seek(5,0)
5
>>> f.readline()
'ww\n'
>>> f.seek(0,0)
0
>>> f.readline()
'wwwwwww\n'