python 列表,元组,字典,字符串

列表篇:

一:列表的定义

列表就相当于一个容器(列表,元组,字典,字符串这些都是),可以存储任意不同类型的数据,列表还是可变的,有序的(说明有索引)

1.首先列表定义

变量名 = [元素1,元素2.......](不要用list)

list1=[]

这就是一个最简单的空列表

2.列表里面存储的元素是任意的,可以是int,可以是str,也可以是元组和集合等等,甚至还可以里面套元组,套列表套字典啥的,啥都可以套。

list1=[1,'11',[1,,2]]
list2 = [(1,2,3,4,5)]
list3 = [{'k1':1,'k2':2}]

3.列表里面存储的元素是可以重复的

list1=[1,2,3,4,5]
二:遍历列表
lst = [1,12,3,4,5,6,7]
print(len(lst))
#方法一
for num in lst:
    print(num)
#方法2 遍历索引
for i in range(len(lst)):
    print(i,lst[i])
    
#方法三
#enumerate  枚举 元组的形式
for i,num inenumerate(lst):
    print(i,num)
# i 代表的是索引,num是列表里的数据,这俩是一一对应的

三:列表的增删改查
 

1.增

首先我们要明确,列表是可变的,对列表进行增删查改后,都是对原列表进行改变

在列表的增删改查里我们会用到pycharm里的系统函数

# list.append(obj):在列表追加元素obj,任意元素。
list1 = [1,2,3,4,5,6]
list1.append(99)
list1.append("123")
print(list1)#[1, 2, 3, 4, 5, 6, 99, '123']


#list.extend(seq):seq有序序列(容器),将seq中的指定元素拓展到list中
list2 = [12,3,4]
list2.extend([1,2,3])
list2.extend("123")
print(list2)#[12, 3, 4, 1, 2, 3, '1', '2', '3']


#list.inset(index,obj):插入,在指定索引处插入obj
list3 = [1,2,3,4,5]
list3.insert(5,6)
list3.insert(6,'77')
print(list3)#[1,2,3,4,5,6,'77']

2.删

#list.remove(obj):将列表中的指定元素obj移除掉,从左往右依此删掉第一个匹配项

lit = [1,2,3,4,5,6,7,7,7,7,7,7]

for _ in range(6):
    lit.remove(7)
print(lit)#[1,2,3,4,5,6]


#list.pop(index):弹出,表示将指定索引index的元素弹出
#index可以省略,默认弹出最后一个,被弹出的元素还想继续使用,而用变量保存起来

lit1 = [1,2,3,4,5,6]
lit1.pop()
r = lit1.pop(3)
print(lit1,r)

#list.clear()清空
#清空例表所有的数据,成为一个空列表

# del XXX
#在del后面加上索引删除指定元素

3.改

# 三、改
# 1.list.reverse():反转列表中的元素/逆序列表中的元素
list1 = [34,22,33,66]

# 方式一
# new_list1 = []
# for i in range(-1,-(len(list1) + 1),-1):
#     # 生成新的列表
#     new_list1.append(list1[i])
# print(new_list1)  # [66,33,22,34]

# 方式二
list1.reverse()
print(list1)

# 2.list.sort(key=None,reverse=False):排序
# a
# 注意1:默认为升序
# 注意2:如果要进行排序,则列表中的元素必须支持大小比较
list21 = [34,5,7,8,9]
list21.sort()
print(list21)

# 错误写法
# list21 = ['ga',5,7,8,9]
# list21.sort()  # TypeError: '<' not supported between instances of 'int' and 'str'
# print(list21)

# 注意3:元素是字符串,可以排序,因为字符串可以比较大小,依据ASCII码表
'''
常见ASCII码的大小规则:数字< 大写字母 < 小写字母。
1.数字比字母要小。如 “7”<“F”;
2.数字0比数字9要小,并按0到9顺序递增。如 “3”<“8” ;
3.字母A比字母Z要小,并按A到Z顺序递增。如“A”<“Z” ;
4.同个字母的大写字母比小写字母要小32。如“A”<“a” 。
5.几个常见字母的ASCII码大小: “A”为65;“a”为97;“0”为 48 
'''
list21 = ['fe','sb','adfd','xyz','uif']
list21.sort()   # ['adfd', 'ae', 'sb', 'uif', 'xyz']
print(list21)

# 注意4;元素是列表或元组,依次根据子列表或子元组中的元素进行比较,比如:如果0索引处的元素相同,则比较1索引...
list1 = [[34,6],[6,8]]
list1.sort()   # [[6, 8], [34, 6]]
print(list1)

list1 = [(34,6),(6,8)]
list1.sort()   # [(6, 8), (34, 6)]
print(list1)

# list1 = [{34:6},{6:8}]
# list1.sort()    # TypeError: '<' not supported between instances of 'dict' and 'dict'
# print(list1)

# b.降序,reverse默认为False,表示升序,如果将reverse赋值为True
list21 = [34,5,7,8,9]
list21.sort(reverse=True)
print(list21)

# c.key=func:此时的func表示自定义排序规则
list21 = ['fe','456f','adfd','xyz34454','uif51']
# 需求:根据字符串的长度进行升序排序
list21.sort(key=len)
print(list21)   # ['fe', '456f', 'adfd', 'uif51', 'xyz34454']

4.查

# 四、查
# 1.len()  *******
print(len(list21))

# 2.max()
print(max(5,67,8,9,0))
print(max([5,67,8,9,0]))

# 3.min()
print(min(5,67,8,9,0))
print(min([5,67,8,9,0]))

# 4.lst.index(ele):查找元素ele在列表中第一次出现的索引
list4 = [5,7,67,3,3,1,3,3,5,7,89]
r = list4.index(3)
print(r)

# 底层原理
ele = 3
for i,num in enumerate(list4):
 if num == ele:
     print(i)
     break

# 5.lst.count(ele):统计元素ele在列表中出现的次数     **********
list4 = [5,7,67,3,3,1,3,3,5,7,89]
c = list4.count(3)
print(c)

print(list4.count(100))  # 0

# 需求:将列表中的元素8全部删除
list1 = [54,6,8,9,23,8,8,8,5,67,8]
ele = 8
c = list1.count(ele)
for _ in range(c):
 list1.remove(ele)
print(list1)

时间原因就不多说了,想要练习的可以找我要练习题

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值