列表,元素和集合

1.列表list,值的有序序列,每个值可以通过索引来标识

可以使用for循环对列表顺序进行遍历,也可以使用[]和[:]运算符取出列表中一个或多个元素

list1=[1,2,3]

list2=list1*2//1,2,3,1,2,3

print(len(list1))//len()求列表长度

print(list1[-1])//3

for index in range(len(list1))://利用下标遍历列表

   print(list1[index])

for elem in list1://利用for循环遍历列表元素

    print(elem)

enumerate()函数会同时列出下标和元素

for index,elem in enumerate(list1):

    print(index,elem)

2.向列表添加元素及移除元素

list1.append(200)

list1.insert(1,200)

list1.extend([100.200])

list1+=[100,200]

list1.remove(200)//移除指定元素

list1.pop(1)//移除指定位置的元素

list1.clear()//清空列表元素

3.列表和字符串一样,也可做切片操作

可以通过反向切片获得倒转的列表

fruitnew=fruit[::-1]

4.列表的排序

list2=sorted(list1)//sorted这样不改变list1的顺序,默认按照字母表的顺序排列

list1.sort(reverse=True)//改变list1的顺序

list2=sorted(list1,reverse=True)//按照字母表相反的顺序排列

list2=sorted(list1,key=len)//根据字符串的长度进行排序

5.生成式和生成器

f=[x for x in range(1,10)]

f=[x+y for x in 'ABCDE' for y in '1234567']

列表利用生成式表达语法创建列表容器

# 请注意下面的代码创建的不是一个列表而是一个生成器对象

# 通过生成器可以获取到数据但它不占用额外的空间存储数据

# 每次需要数据的时候就通过内部的运算得到数据(需要花费额外的时间)

f=(x**2 for x in range(1,1000))

print(sys.getsizeof(f)) 

# 相比生成式生成器不占用存储数据的空间

print(f)

for val in f:

    print(val)

6.yield关键字

https://blog.csdn.net/mieleizhi0522/article/details/82142856

7.元组

元组也是一种容器数据类型,不同之处在于元组的元素不能修改。

t=('杨晓宇',21,True,'山东德州')

person=list(t)//元组转换为列表

newt=tuple(person)//列表转换为元组

元组中的元素无法修改,我们在项目中尤其是多线程环境中更喜欢使用的是那些不变对象

元组在创建时间和占用的空间上面都优于列表

8.集合

集合不允许有重复元素,而且可以进行交集,并集和差集运算。

set1={1,2,3,3,2}//只会输出1,2,3

集合的插入与删除

set1.add(4)

set1.update({1,2,3})

set1.discard(2)

set1.pop()

集合可以进行交集,并集,差集和对称差运算

set1&set2//交集

set1|set2//并集

set1-set2//差集

set1^set2//对称差

9.字典

字典是另一种可变容器模型,Python中的字典跟我们生活中使用的字典是一样一样的,它可以存储任意类型对象,与列表、集合不同的是,字典的每个元素都是由一个键和一个值组成的“键值对”,键和值通过冒号分开。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容