Task2 python基础操作

列表:标志、基本操作(创建,append( ),pop( ) ,del( ), 拷贝)、列表相关方法

(1)list本身的创建利用中括号,然后赋值即可。下面展示创建以及值的查询。

#list的创建
a = ['hello','world',1,2]
b = [3,a]
c = ["hi",'mike',b]
#输出list
print(a,b,c)
#list内不同元素调用
print(a[0])
print(b[1],b[1][2])
print(c[2][1][0])

运行结果

['hello', 'world', 1, 2] [3, ['hello', 'world', 1, 2]] ['hi', 'mike', [3, ['hello', 'world', 1, 2]]]
hello
['hello', 'world', 1, 2] 1
hello

(2)append()向list末尾添加值,使用方法,list.append(),但是需要注意,一次只能添加一个元素,至于元素是什么,无所谓,如图

a = ['hello','world']
a.append('0')
print(a)
b = ['1','2']
a.append(b)
print(a)

运行结果

['hello', 'world', '0']
['hello', 'world', '0', ['1', '2']]

(3)pop(),删除list中的值,空格默认为最后一个位置。

a = ['hello','world',1,2,3]
a.pop(1)
print(a)
a.pop()
print(a)

运行结果

['hello', 1, 2, 3]
['hello', 1, 2]

注意下面的过程,程序还是要多写,才会有收获。

a = ['1','2','3','4','5'];
a.pop(0);
b = a.pop(0)
print(a)
print(b)

输出

['3', '4', '5']
2

(4)del(),删除,对变量的操作。

a = ['hello','world',1,2,3]
del(a[2])
print(a)

运行结果

['hello', 'world', 2, 3]

注意比较有意思的在于del在执行操作的时候是按照顺序进行的,而非同时进行,是不是和想象的不太一样。

import copy
a = ['1','2','3','4']
b = a
c = copy.deepcopy(a)
del(a[0],a[1])
print(a)
print(b)
print(c)

结果

['2', '4']
['2', '4']
['1', '2', '3', '4']

(5)list的两种拷贝与直接赋值(注意.append会影响到前面的直接赋值),对list的操作不会影响到list的深度拷贝得到的结果,浅度拷贝内部元素如果有list,还是会有影响。(同样针对pop del等操作同样如此)

#拷贝的不同操作
import copy
a = ['hello','world',[1,2,[3]]]
b = a
c = a.copy()
c2 = copy.copy(a)
d = copy.deepcopy(a)
a.append('love');
a[2].append('you')
a[2][2].append(5)
print(a)
print(b)
print(c)
print(c2)
print(d)

运行结果

['hello', 'world', [1, 2, [3, 5], 'you'], 'love']
['hello', 'world', [1, 2, [3, 5], 'you'], 'love']
['hello', 'world', [1, 2, [3, 5], 'you']]
['hello', 'world', [1, 2, [3, 5], 'you']]
['hello', 'world', [1, 2, [3]]]

(6)列表相关方法
list的数据读取还可以采用index,即

a = [1,2,3,4]
print(a[-1])
print(a[1])
print(a[1:])
print(a[-2:])

结果:

4
2
[2, 3, 4]
[3, 4]

list的一些操作,包括,len()(获取长度);+(列表的组合);list*n(n次重复);
in (判断list里是否含有该元素)
贴一个详细的链接,https://www.runoob.com/python3/python3-list.html

元组:标志、基本操作(创建及不可变性)

(1)元组tuple的创建利用括号()即可,两边不闭合,仅用逗号隔开,也默认为元组,但是元组内部元素是不变的。
(2)元组本身不可以改变,但是内部如果存在list元素,该元素可变。

a = 1,2,[3,4]
a[2].append(5)
print(a)

运行结果

(1, 2, [3, 4, 5])

(3)元组允许一些操作,包括,len()(获取长度);+(元组的组合);tuple*n(n次重复);
in (判断tuple里是否含有该元素)

string字符串:定义及基本操作(+,*,读取方式)、字符串相关方法、字符串格式化问题

(1)字符串创建利用 ‘ ’ 包含起来即可,还有一些基本的操作。

a = 'a,b,c,d,e,f,g'
b = 'h,i,j,k,l'
c = a+','+b
print(c)
print(c[1:5])
print(c[2:5:2])

运行结果

a,b,c,d,e,f,g,h,i,j,k,l
,b,c
bc

(2)字符串的格式化利用 % 实现,

a = 'hello%s' % ',world'
b = 'hello%4d%s' % (3,'2')#%4d中间添加4个空格
c = 'hello%.3f' % 3.2345#三位小数,%f默认为6位小数
print(a)
print(b)
print(c)

运行结果

hello,world
hello   32
hello3.235

(3)贴一个廖老师的链接,注意区分python3和python2的差别,https://www.liaoxuefeng.com/wiki/897692888725344/923028730936032
(4)贴一个组员的总结,字符串总结得非常好,
https://github.com/r3xYa/DataWhale_8/blob/master/Task2.md

练习

(1)用字符串连接

a = '1234'
b = a.join('degr')
print(b)

结果

d1234e1234g1234r
#对于字符串,似乎有些问题挺有意思
str = '-'
se = ('123');
se2 = '1','2','3'
s1 = str.join(se);
s2 = str.join(se2)
s3 = s1.join(s2)
print(se,se2)
print(s1,s2,s3)
123 ('1', '2', '3')
1-2-3 1-2-3 11-2-3-1-2-321-2-3-1-2-33

(2)查找

a = '123456789012345'
b = a.find('2',0,len(a))
print(len(a))
print(b)#find(str, beg=0, end=len(string))
#检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1

结果

15
1

(3)大小写

a = '1234567890ABCDE你'
b = a.lower()
print(b)

结果

1234567890abcde你

就酱

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值