今天主要学习了列表,字典,字符串相关的知识。
"""
day 2
列表:
是一个有序可重复的元素集合,可嵌套、迭代、修改、分片、追加、删除,成员判断。
从数据结构角度来看,列表是一个可变长度的顺序存储结构,每个位置存放的对象的指针。
如何访问列表的元素,
>>> list_a = [1,2,3,4,5]
>>> list_a[0]
1
>>> list_a[5]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
直接使用下标可以访问指定的列表元素。
修改元素的值:
>>> list_a[0]="a"
>>> list_a
['a', 2, 3, 4, 5]
>>>
我们可以直接给指定位置的元素赋值就可以了,
删除列表元素:
del语句
remove()根据列表元素的值来删除对应的值。
>>> list_a.remove(2)
>>> list_a
[3, 4, 5]
>>>
pop
>>> del list_a[0]
>>> list_a
[2, 3, 4, 5]
>>>
del 语句可以删除整个列表
del list_a
>>> list_a.pop()
5
>>> list_a
[3, 4]
>>>
pop()删除列表中的最后一个元素。
列表的常用函数。
len()求某个序列的长度
max()求某个序列中的最大值
min()
list()将序列转换成为一个列表
列表可以切片:
>>> list_a
[3, 4, 1, 2, 5]
>>> list_a[::-1]
[5, 2, 1, 4, 3]
>>>
列表也可以直接将步长设置为-1,将列表直接倒序输出。
多维列表(嵌套列表)
>>> a = [[1,2,3],[4,5,6],[7,8,9]]
>>> a[0][0]
1
>>>
列表的遍历:
a = [1,2,3]
for i in a:
print(i)
此处是遍历列表中的所有元素
for i in range(len(a)):
print(i,a[i])
# 遍历列表的下标,通过下标取值
if i in a: #判断i是否在列表a中
列表的内置方法:
append()
>>> list_a.append(9)
>>> list_a
[3, 4, 1, 2, 5, 9]
>>>
在最后位置添加元素。
count()
>>> list_a.count(1)
1
>>>
计算指定元素在列表list_a中出现的次数。
extend()将列表a中的元素追加到列表list_a中
>>> list_a.extend(a)
>>> list_a
[3, 4, 1, 2, 5, 9, [1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>>
remove() 删除列表时,列表中有多个重复元素的时候,只会删除第一次出现的元素。
reverse() 翻转列表。
pop() 移除列表中的一个元素,默认最后一个元素,并且返回该元素的值
index() 从列表中找出某个值第一个匹配项的索引位置
insert(index,obj) 将对象插入到列表中
sort()对列表进行排序,当列表中的元素不全是同一类型的数据类型,则不可以使用该方法。只有全都是字母或者全是数字的时候才能排序。
copy() 可以直接使用该方法复制某个列表。
clear() 清空列表,等价于 del list_a[:]
元组:是一个不可变序列,
tup = ()
>>> tup = (1,2,3,4)
>>> tup
(1, 2, 3, 4)
>>>
tup.count(1) 计算元素"1"在元组中出现的次数
元组不允许被修改,不能添加元素,不能删除元素,只有重新定义,只有删除整个元组。
元组只保证一级元素不可变,但是内部嵌套的数据是可以操作的。
>>> tup1 = (1,2,["a","b"])
>>> tup1[2]
['a', 'b']
>>> tup1[2][0]="A"
>>> tup1
(1, 2, ['A', 'b'])
>>>
字典: python的字典数据类型是基于hash散列算法实现的,采用键值对。
>>> dict1 = {"name":"frank","age":18}
>>> dict1
{'name': 'frank', 'age': 18}
>>>
字典是无序的。
>>> dict([("a","b")])
{'a': 'b'}
>>> 这种创建字典的方式并不常见
字典取值根据key值来取
>>> dict1["name"]
'frank'
>>> dict1["age"]
18
>>>
在已有字典中添加值,使用键值对添加。
>>> dict1["addr"]="beijing"
>>> dict1
{'name': 'frank', 'age': 18, 'addr': 'beijing'}
>>>
删除字典元素、清空字典和删除字典
del dict1["name"]
>>> dict1
{'name': 'frank', 'age': 18, 'addr': 'beijing'}
>>> del dict1["name"]
>>> dict1
{'age': 18, 'addr': 'beijing'}
>>>
dict.pop("name")
清空字典 dict1.clear() 字典还在,只是清空了字典
删除字典 del dict1 直接删除整个字典
>>> dict1.get("addr")
'beijing'
>>>
遍历字典的时候,只能遍历字典的key,
>>> for key,values in dict1.items():
... print(key,values)
...
age 18
addr beijing
>>>
bytes 在python3后,字符串和bytes类型
>>> str1 = b"world"
>>> type(str1)
<class 'bytes'>
>>>
>>> str2.encode()
b'world'--> string transfer to bytes
>>> str1.decode()
'world' --> bytes transfer to string
>>>
字符串和bytes之间的相互转换,使用decode()和encode()
set 集合
>>> s = set([11,11,12,13])
>>> s
{11, 12, 13}
>>> type(s)
<class 'set'>
>>>
集合元素不重复。是无序的。
>>> s1 = {"this is set"}
>>> s1
{'this is set'}
>>> s1 = set("this is set")
>>> s1
{' ', 'i', 't', 'e', 'h', 's'}
>>>
添加元素,使用方法add()
update()
"""
|