来了解下python集合吧

185 阅读3分钟

1 集合

1.1 List列表

  • 列表(List)是一种有序和可更改的集合。允许重复的成员。

  • 列表是一个有序且可更改的集合。在 Python 中,列表用方括号编写。

  • 通过引用索引号来访问列表项

  • 更改特定项的值

  • 遍历列表

  • in

  • 列表长度

  • 添加项

    • append
    • insert
  • 删除项

    • remove
    • pop
  • 复制

    • copy
  • 合并

    • extend
  • 列表方法

    • sort
    • reverse

代码例子

  • List列表 - 是一种有序的可以更改的集合,列表中的元素可以重复
  • 创建列表可以使用[] 或者 list()

创建空的列表

nums = [] 
nums = list() 
print(nums)

非空的列表

nums = [2,4,6,8,8]
print(nums)    #[2, 4, 6, 8, 8]   存放有序,允许有重复的元素

ss = ['hello','python','web','web',20]    
print(ss)   #['hello', 'python', 'web', 'web', 20]

`` 列表每一个元素都分配一个整数,称为索引,左边从0开始(正索引),右边从-1开始(负索引)

['hello','python','web','web',20]   0       1     2     3   4   -5     -4     -3   -2   -1

使用[索引]访问列表中的元素

print(ss[0]) print(ss[-5]) print(ss[-1]) ``

for in - 遍历列表

for s in ss:
    print(s)
len() - 获取列表长度
print(len(ss)) 
print(len([])) 

修改列表中的元素

ss[2]='java' 
print(ss)

in - 检查列表中是否包含给定的元素

print('java' in ss)   #True
print('js' in ss)   #Falseprint(type(ss))   #返回变量的类型  list
  •   列表拼接,生成新的列表 print(id(ss)) # id() - 返回变量的内存地址
ss2=ss+[40,69]
print(ss) 
print(ss2) 
print(len(ss2))
# print(id(ss)) 

append()   列表的末尾添加一个元素 - 追加

print(id(ss)) # id() - 返回变量的内存地址

# ss.append([33,51])
# print(id(ss))  
# print(ss)
# print(len(ss))

extend() 列表末尾逐个添加给定集合中的元素 - 合并

# ss.extend([33,51])
# print(ss)
# print(len(ss))

insert()   指定索引位置上插入一项

# ss.insert(1,[33,51])
# print(ss) 
#print(ss[10])   #IndexError: list index out of range

remove() 删除给定的一个元素,(如果有多个,只删除左边开始第一个)

# ss.append('web')
# print(ss) 
# ss.remove('web')
# print(ss) 
# ss.remove("js")   #ValueError: list.remove(x): x not in list

pop()   弹出指定位置的一个元素,并且返回弹出的元素   默认是最右边的元素

# print(ss) 
# s = ss.pop(1) #参数指定位置(索引)
# print(s)
# print(ss) 

新建变量指向的是同一个列表

# ss2 = ss 
# print(id(ss))
# print(id(ss2)) 

copy() - 复制,新建了一个列表,并且把原列表的元素复制进新的列表

# ss2 = ss.copy()
# print(id(ss))
# print(id(ss2)) 
# print(ss)
# print(ss2)
  • nums=[20,21,6,18]

reverse - 列表元素反转

nums.reverse()
print(nums)   #[18, 6, 21, 20]

sort() - 列表中元素排序,升序排序

nums.sort()
print(nums)  

list*n   - 列表元素复制n次 , 原来列表不变

print(nums*4)

max() - 返回列表中最大的元素

min() - 返回列表中最小的元素

sum() - 返回列表中所有元素的和

print(max(nums),min(nums),sum(nums))  

练习1

lst = [1,2,3]
lst2 = [4,5,6]
不使用 + 号运算符,将lst2合并到lst的末尾,并思考,这个过程中,是否产生了新的列表

方法一:
lst.extend(lst2)
print(lst)

方法二:
for e in lst2:
    lst.append(e)
print(lst)