Datawhale:python基础—task2

学习任务

1、列表:标志、基本操作(创建,append( ),pop( ) ,del( ), 拷贝)、列表相关方法
2、元组:标志、基本操作(创建及不可变性)
3、string字符串:定义及基本操作(+,*,读取方式)、字符串相关方法
4、字符串格式化问题

学习笔记

1 列表

1.1 标志

一系列特定顺序排列的元素,用[]表示,

1.2 基本操作

(1)创建
注意用用逗号分隔各元素;
若元素为字符串,需要在元素上加’’;
命名最好用复数;
列表中第一个元素的位置为0

names = ['linda', 'alli', 'lucy']
scores = [23, 65, 33]
print (names)
print (scores)

(2)append():向列表末尾添加单个元素

>>>scores = [23, 65, 33]
>>>scores.append(78)
>>>print (scores)
[23, 65, 33, 78]

(3)pop():将指定位置的元素删除并返回,也称为弹出元素

>>>scores = [23, 45, 67, 47]
>>>b = scores.pop(2)
>>>print(b)
67

(4)del():删除元素
删除单个元素

>>>scores = [23, 45, 67, 47]
>>>del scores[0]
>>>print(scores)
[45, 67, 47]

删除多个元素
要注意此处del括号中标号的大小与被删除范围的关系,差了一位

>>>scores = [23, 45, 67, 47]
>>>del scores[0:2]
>>>print(scores)
[67, 47]

除此之外,还可以删除间隔元素
两个冒号后边是每隔几位删除一个元素的意思

>>>scores = [23, 45, 67, 47]
>>>del scores[1::2]
>>>print(scores)
[23, 67]

(5)拷贝
首先需要认识到,python中的变量不存储任何数据,只是一种绑定关系,对象的赋值就是对象的引用,不占用内存,运行快,效率高。
浅拷贝:只复制一层,只拷贝最外围的对象本身,内部的元素仅拷贝引用,并不拷贝元素。
深拷贝:外围和内部元素都拷贝。
拷贝的作用:减少内存的使用&以后在做数据的清洗、修改或者入库的时候,对原始数据进行复制,防止数据修改而找不到原数据。

1.3 列表基本方法

(1)len:查看长度
(2)‘+’:两个列表相加即首尾相连
(3)‘*’:列表与整数相乘,即将列表重复整数次数
(4)索引:注意反向索引’-1‘代表倒数第一位
(5)切片:提取多个元素
可以使用索引和切片对列表元素进行修改
(6)in:即用上一节提到的in测试某元素是否在列表中
(7)count:计算列表中某个元素个数
(8)insert:将元素插入到列表中指定位置

元组

2.1 标志

Tuple,小括号或者无括号,由有顺序的数字组成,不可变,可以索引、切片

2.2 基本操作

(1)创建

>>>t = (34, 23, 56, 45)
>>>print(t[0])
>>>print(t[1:3])
34
(23, 56)

此处有问题,为什么范围选择t[2:-1]就无法输出正确的答案,怀疑可能(-1)这个下标对元组不适用???
(2)不可变性
以下程序运行时会报错

t = (34, 23, 56, 45)
t[0] = 1

衍生问题
a. 单个元素的元组生成

>>>a = (10,)
>>>print(type (a))
>>>b = (10)
>>>print(type (b))
<class 'tuple'>
<class 'int'>

b. 列表与元组之间的转换

>>>a = [23, 45, 56, 56]
>>>b=tuple(a)
>>>print(b)
>>>c=list(b)
>>>print(c)
(23, 45, 56, 56)
[23, 45, 56, 56]

c. 元组基本方法:count 和 index
d. 为什么需要元组
旧式字符串格式化中参数要用元组;
在字典中当作键值;
数据库的返回值

3 string字符串

3.1 定义

python中的一种数据类型,单引号或者双引号均可创建

3.2 基本操作

(1)+:字符串相连

>>>s = 'good' + 'night'
>>>print(s)
goodnight

(2)*:字符串与整数相乘,字符串重复整数次
以上操作类似于列表中的加法与乘法
(3)读取方法

3.3 字符串相关方法

可以使用dir函数查看所有可以使用的方法

方法描述
s.split()将s按照空格(包括多个空格,制表符\t,换行符\n等)分割,并返回所有分割得到的字符串
s.join(a)是以s为连接符将字符串序列a中的元素连接起来,并返回连接后得到的新字符串
s.replace(part1, part2)将s指定的部分part1替换成想要的部分part2,并返回新的字符串
s.upper()将s中的字母全部大写的新字符串
s.lower()将s中的字母全部小写的新字符串

另外,字符串中可以用()或者\实现换行

4 字符串格式化问题

用format()格式化字符串,字符串花括号中的部分会被format传入的参数替代,传入的值可以是字符串,也可以是数字或者别的对象。

'{} {} {}'.format('a', 'b', 'c')
Out[1]: 'a b c'

可以用数字指定传入参数的相对位置

'{2} {1} {0}'.format('a', 'b', 'c')
Out[2]: 'c b a'

可以指定传入参数的名称

'{name} {number} {score}'.format(name='lily', number=2341, score=98)
Out[5]: 'lily 2341 98'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值