【python】day 04

day 04 list和turple

(1)list

append

在最后加入

li = ['alex','wusir','egon','女神','taibai']
li.append('ritian')
print(li)

insert

在任意位置插入 有索引

li = ['alex', 'ric']
li.insert(1, 'erge')
print(li)

小题目 HR要增加100个人的名字,当他不想输入的时候,按Q随时退出

li = ['alex', 'ric']
while 1:
    name = input('请添加名字,按Q退出:')
    if name.upper() == 'Q':
        break
    else:
        li.append(name)
        print(li)

extend

可迭代,并且是拆分开来之后,再一个个添加
注意:字符串,列表是可迭代的。数字是一个整体,不可迭代

li = ['alex','wusir','egon','女神','taibai']
li.extend('ric12')
li.extend('123')
print(li)
# 结果
['alex', 'wusir', 'egon', '女神', 'taibai', 'r', 'i', 'c', '1', '2', '1', '2', '3']

pop

默认删除最后一个,有返回值。也可以按照索引来进行删除

li = ['alex','wusir','egon','女神','taibai']
print(li.pop())
print(li)
print(li.pop(1))
print(li)

remove

按元素去删除

li = ['alex','wusir','egon','女神','taibai']
li.remove('wusir')
print(li)

clear

清空

li = ['alex','wusir','egon','女神','taibai']
li.clear()
print(li)
# 结果
[]

del

可以进行切片删除

li = ['alex','wusir','egon','女神','taibai']
del li[0::-1] # 因为位置0往左之后什么都没有,又顾头不顾尾,所以把第一个删除了
print(li)
# 结果
['wusir', 'egon', '女神', 'taibai']

li = ['alex','wusir','egon','女神','taibai']
li[0] = 'nansheng'
li[1] = [123]
print(li)
# 结果
['nansheng', [123], 'egon', '女神', 'taibai']

切片改

不管你给出的多少位置的,始终把给定位置删除,然后把新的字符串迭代添加进去

li = ['alex','wusir','egon','女神','taibai']
li[0:2] = '艾克分哈哈哈'
li[0:3] = [1, 2, 3, '春哥', '咸鱼哥']
print(li)
# 结果
[1, 2, 3, '春哥', '咸鱼哥', '哈', '哈', '哈', 'egon', '女神', 'taibai']

for循环

for i in li:
	print(li)
print(li[0:2])

(2) 公共方法

字符个数 len

li = ['alex','wusir','egon','女神','taibai']
l = len(li)
print(l)

sort

li = [1,5,4,7,6,2,3]
li.sort()
print(li)

正向排序

li = [1,5,4,7,6,2,3]
li.sort()
print(li)

逆向排序

reverse = True即可

li.sort(reverse=True)
print(li)
# 输出
[7, 6, 5, 4, 3, 2, 1]

反转 reverse

li.reverse()
print(li)
# 结果
[1, 2, 3, 4, 5, 6, 7]

索引

只有index 找不到报错

li = ['alex','wusir','egon','女神','taibai']
num = li.index('女神')
print(num)

(3) 列表的嵌套

# 找到藤字
li = ['taibai','武藤兰','苑昊',['alex','egon',89],23]
print(li[1][1]) # 字符串还可以进行切片

# 找alex 把首字母变成大写在放进去
li[3][0] = li[3][0].capitalize()
print(li)
# 找到 昊 字,把其替换成日天,再放进去 用一个替换的思想
li[2] = li[2].replace('昊', '日天')
print(li)

# 将egon全部变成大写在放回原位置
li[3][1] = li[3][1].upper()
print(li)

(4)元组

元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组。例:(1,2,3)(“a”,“b”,“c”)
儿子不可以改,孙子可能可以改(若元组里面嵌套了list,则可以进行修改)

tu = (1,2,3,'alex',[2,3,4,'taibai'],'egon')
print(tu[2])
print(tu[:4])
for i in tu:
	print(i)
# 把taibai全部大写再放进去
tu[4][3] = tu[4][3].upper()
print(tu)

(5)jion

连接符必须是字符串
最后返回的也是字符串
列表也可以进行操作
列表转换成字符串就用join
字符串转换成列表用split

s = 'rick'
s1 = '_'.join(s)
print(s1)

列表转化成字符串 list -----> str join

li = ['taibai','alex','wusir','egon','女神']
s = '_|'.join(li)
print(s)
# 结果
taibai_|alex_|wusir_|egon_|女神

字符串转化成列表 str -----> list

s = 'alex,p'
s1 = s.split(',')
print(s1)

(6) range

给定数字范围 可以逆向输出 可以给定步长 参考切片 [1,2,3,4,5,6,…100…]

for i in range(10, 20, 2):
    print(i)
for i in range(10,-1,-1):
    print(i)
for i in range(0,10,-2): # 不会报错,但是会输出空 因为从位置0开始,往左边数是没有数字的。
    print(i)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值