Datawhale_pythonlearning_task2
Task2(2day)
1. 列表
1)标志
列表的标志符号是[]
2)基本操作(创建,append(),pop(),del(),拷贝)
创建:menber=[a,b,c,1,2,3,"哈哈”]
append() | 将参数作为一个元素增加到列表的末尾 |
pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
sentence=['All', 'good', 'things', 'come', 'to' ,'those', 'who', 'wait.']
默认删除最后一个列表值sentence.pop()
删除最后一个列表值:",sentence.pop(-1)
删除第一个元素sentence.pop(0)
删除第三个元素 sentence.pop(2)
Python 字典 pop() 方法删除字典给定键 key 及对应的值,返回值为被删除的值。key 值必须给出。 否则,返回 default 值。
pop(key[,default])
- key: 要删除的键值
- default: 如果没有 key,返回 default 值
site= {'name': '菜鸟教程', 'alexa': 10000, 'url': 'www.runoob.com'}
pop_obj=site.pop('name')
del():删除指定值
del用于list列表及字典操作,删除一个或者连续几个元素也可以删除字典指定的key
a = [-1, 3, 'aa', 85] # 定义一个list
del a[0] # 删除第1个元素
member=["a","b","c",1,2,3,"哈哈"]
del member[2:4] # 删除从第3个元素开始,到第5个为止的元素。包括头不包括尾
copy() 函数返回一个字典的浅复制。
详见:https://www.runoob.com/python3/python3-att-dictionary-copy.html
直接赋值和 copy 的区别
dict1 = {'user':'runoob','num':[1,2,3]}
dict2 = dict1 # 浅拷贝: 引用对象
dict3 = dict1.copy() # 浅拷贝:深拷贝父对象(一级目录),子对象(二级目录)不拷贝,还是引用
# 修改 data 数据
dict1['user']='root'
dict1['num'].remove(1)
3)列表相关方法
2.元组
详见:https://www.runoob.com/python/python-tuples.html
1)标志
()
元组使用小括号,列表使用方括号。
2)基本操作(创建及不可变性)
元组创建只需要在括号中添加元素,并使用逗号隔开即可。
tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5 )
tup3 = "a", "b", "c", "d"
创建空元组
tup1 = ()
元组中只包含一个元素时,需要在元素后面添加逗号
tup1 = (50,)
Python的元组与列表类似,不同之处在于元组的元素不能修改。
3.string字符串
1)定义及基本操作(+,*,读取方式)
Python 表达式 | 结果 | 描述 |
---|---|---|
len((1, 2, 3)) | 3 | 计算元素个数 |
(1, 2, 3) + (4, 5, 6) | (1, 2, 3, 4, 5, 6) | 连接 |
('Hi!',) * 4 | ('Hi!', 'Hi!', 'Hi!', 'Hi!') | 复制 |
2)字符串相关方法
元组索引,截取
因为元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素,如下所示:
元组:
L = ('spam', 'Spam', 'SPAM!')
Python 表达式 | 结果 | 描述 |
---|---|---|
L[2] | 'SPAM!' | 读取第三个元素 |
L[-2] | 'Spam' | 反向读取,读取倒数第二个元素 |
L[1:] | ('Spam', 'SPAM!') | 截取元素 |
4.字符串格式化问题
Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。相对于老版的%格式方法,它有很多优点。
a.在%方法中%s只能替代字符串类型,而在format中不需要理会数据类型;
b.单个参数可以多次输出,参数顺序可以不相同;
c.填充方式十分灵活,对齐方式十分强大;
(1)按照默认顺序,不指定位置
print("{} {}".format("hello","world") )
(2)(设置指定位置,可以多次使用
print("{0} {1} {0}".format("hello","or"))
(3)使用列表格式化
person = {"name":"opcai","age":20}
print("My name is {name} . I am {age} years old .".format(**person))
(4)通过列表格式化
stu = ["opcai","linux","MySQL","Python"]
print("My name is {0[0]} , I love {0[1]} !".format(stu))
d.官方推荐用的方式,%方式将会在后面的版本被淘汰。