python基础笔记1:数据类型List

数据类型List

name4 = 2333 name = ['name1', 'name2', f'name3', 2333-333, name4] print(name) # ['name1', 'name2', 'name3', 2000, 2333] 可以看出单引号是String的默认字面量 print(type(name)) # <class 'list'> print(name[3]) # 2000 List用法与C语言数组类似 print(name[-1]) # 2333 负数索引 # 遍历列表方式1: for na in name: print(na) #每个元素换行输出 # 遍历列表方式2: for i in range(len(name)): print(name[i]) name.pop() # 删除末尾 name.pop(i) # 删除下标i元素 name.append("A") # 末尾加元素 name.insert(1,"B") # 指定位置加元素

列表操作符:

print([1, 2] + [3, 4]) # [1, 2, 3, 4] print([1, 2] * 3) # [1, 2, 1, 2, 1, 2] print(3 in [1, 2, 3]) # True print(type(2 not in [1, 2, 3])) # <class 'bool'>

列表的函数与方法:

len(list) # 长度,元素个数 max(list) # 最大元素(list需要同类型) list(sep) # 元组转化为列表 list.count(obj) # 元素出现次数 list.extend(seq) # 将seq序列加到list尾部 list.index(obj) # 查找元素第一次出现位置 list.remove(obj) # 移除第一个匹配元素 list.sort() # 排序 list.reverse() # 翻转 # 排序元素也可以是list,比第一个元素: name = [ [1,2333], [5,1,"2"], [3,4] ] name.sort() # [[1, 23333], [3, 4], [5, 1, '2']]

切片:

a = [1, 2, 3, 4, 5, 6, 7] b = a[i:j:k] # a中下标从i到j的切片,每次增加k位 c = a[::-1] # k可以是负数,即倒序枚举,效果与reverse同

列表推导式:

# 可以遍历的内容:iterable(可迭代对象) 包括:字符串(str)、列表(list),元组(tuple)、字典(dict)、集合(set),生成器(generator) a = [1, 2] b = [i**2 for i in a] s = f"ab{a}cd" z = [i for i in s] print(b) # [1, 4] print(z) # ['a', 'b', '[', '1', ',', ' ', '2', ']', 'c', 'd'] 十分无脑的字符串组成 n = 10 fa = [x for x in range(n)] # 并查集初始化fa数组 for i in range(n): print(fa[i]) # 下面两个二重循环表示方式等价 a = [(x, y) for x in range(1,4) for y in range(1,3)] print(a) a.clear() for x in range(1,4): for y in range(1,3): a.append((x,y)) print(a) # [(1, 1), (1, 2), (2, 1), (2, 2), (3, 1), (3, 2)]

列表推导式记录字典元素,单循环枚举多变量:

d = {'x': 1, 'y': 2, 'z': 4} print(d) # {'x': 1, 'y': 2, 'z': 4} print(d.items()) # dict_items([('x', 1), ('y', 2), ('z', 4)]) d_list1 = [k for k in d] d_list2 = [k for k in d.items()] d_list3 = [k+"="+str(v) for k,v in d.items()] print(d_list1) # ['x', 'y', 'z'] print(d_list2) # [('x', 1), ('y', 2), ('z', 4)] print(d_list3) # ['x=1', 'y=2', 'z=4']

含if的列表推导式:

if_list = [x**2 for x in range(10) if x&1] print(if_list) # [1, 9, 25, 49, 81] # 三目运算: print([(x**2 if x%2==0 else x+2) for x in range(10)]) # [0, 3, 4, 5, 16, 7, 36, 9, 64, 11]

选取离散元素:

a = [1, 2, 3, 4, 5, 6] print([a[i] for i in [0,1,3]]) # [1, 2, 4]

__EOF__

本文作者枫叶晴
本文链接https://www.cnblogs.com/maple276/p/17662982.html
关于博主:菜菜菜
版权声明:呃呃呃
声援博主:呐呐呐
posted @   maple276  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示