python(列表,字典,元组,集合)

一.列表

    1.创建

# 列表的创建 
# 方式一 
l1 = [1, 2, 'Alex'] 
# 方式二 
l1 = list() 
l1 = list('fhdsjkafsdafhsdfhsdaf') 
print(l1)

    2.增

l1 = ['太白', '女神', 'xiao','吴老师', '闫龙'] 
# 增: 
# append:追加 
l1.append('xx') 
print(l1)

# insert 插入 
l1.insert(2,'wusir') 
print(l1) 
# extend 迭代着追加 
l1.extend('abcd') 
l1.extend(['alex',]) 
l1.extend(['alex', 1, 3]) 
print(l1)

    3.删

# 删 
# pop 按照索引位置删除 
l1.pop(-2) 
# 按照索引删除 (返回的是删除的元素) 
print(l1.pop(-2)) 
l1.pop() # 默认删除最后一个 
print(l1)

# remove 指定元素删除,如果有重名元素,默认删除从左数第一个
l1.remove('xiao') 
print(l1) 

# clear    # 清空
l1.clear()  
print(l1)

# del# 按照索引删除 
del l1[-1] 
print(l1) 
# 按照切片(步长)删除 
del l1[::2] 
print(l1)

    4.改

# 改 
# 按照索引改值 
l1[0] = '男神' 
# 按照切片改(了解) 
l1[2:] = 'fsdafsdafsdfdsfsadfdsfdsgsfdag' 
print(l1) 
# 按照切片(步长)(了解) 
l1[::2] = 'abc' 
l1[::2] = 'abcd' 
print(l1)

    5.查

# 查: 
# 索引,切片(步长) 
for i in l1: 
    print(i)

    6.效率

  • 列表底层是开辟一块连续大小相同的内存空间,每一块都是一个内存地址
  • 根据索引查找元素时候只需要根据第一个内存地址+下标x固定内存空间大小查找
    • 所以列表操作尽量不要用insert插入,pop尽量只用pop()删除最后一个元素方法

python(列表,字典,元组,集合)_第1张图片     

 

二.字典

    1.创建    

# 方式一: 
dic = dict((('one', 1), ('two', 2), ('three', 3))) 
print(dic) 
# {'one': 1, 'two': 2, 'three': 3} 

# 方式二: 
dic = dict(one=1, two=2, three=3) 
print(dic) 

# 方式三: 
dic = dict({'one': 1, 'two': 2, 'three': 3}) 
print(dic)

    2.增

dic = {'name': '太白', 'age': 18, 'hobby_list': ['直男', '钢管', '开车']} 
# 增: 
# 直接增加 有则改之,无则增加 
dic['sex'] = '男' 
dic['age'] = 23 # 改
print(dic) 
# setdefault 有则不变,无则增加 
dic.setdefault('hobby') 
dic.setdefault('hobby', '球类运动') 
dic.setdefault('age', 45) 
print(dic)

    3.删

# 删 
# pop 按照键删除键值对, 有返回值  
# 设置第二个参数则无论字典中有无此键都不会报错 
dic.pop('age') 
ret = dic.pop('age') 
ret = dic.pop('hobby','操作成功') 
print(ret) 
print(dic)
 
# clear 清空  
dic.clear() 
print(dic) 

# del  
del dic['age'] 
del dic['age1'] 
print(dic)

    4.改

dic['name'] = 'alex' 
print(dic)

    5.查

# 查 
print(dic['hobby_list']) 
print(dic['hobby_list1']) 

# get  
l1 = dic.get('hobby_list') 
l1 = dic.get('hobby_list1','没有此键sb') # 可以设置返回值 
print(l1)

# 三个特殊的 
# keys() values() items() 
print(dic.keys(),type(dic.keys())) # 可以转化成列表 
print(list(dic.keys())) 
for key in dic.keys(): 
    print(key) 

for key in dic: 
    print(key) 

# values() 
print(dic.values()) 
print(list(dic.values())) 

for value in dic.values(): 
    print(value) 

# items() 
print(dic.items())

for key,value in dic.items(): 
    print(key,value) 

 

三.元组

    1.创建

tup1 = ("java", "python", "golang")
tup2 = ("java",)  # 只有一个元素

    2.删除

del tup1    # 整体删除

    3.查

tup1[1]
for i in tup1:
    print(i)

 

四.集合

    1.创建

# 集合的创建: 
set1 = set({1, 3, 'Barry', False}) 
set1 = {1, 3, '太白金星', 4, 'alex', False, '武大'} 
print(set1)

# 空集合
set1 = set()
print(set1)

    2.增

# 增
set1 = {'太白金星', '景女神', '武大', '三粗', 'alexsb', '吴老师'}
set1.add("xx")
print(set1)

set1.update("abcd")    # 迭代添加
print(set1)

    3.删

# 删
set1.remove("xx")
print(set1)

set.pop() # 随机删除

    4.并、交、差、反交、子、超集

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}

print(set1 & set2)   # 交集
print(set1 | set2)   # 并集
print(set1 - set2)   # 差集
print(set1 ^ set2)   # 反交集

set3 = {1, 2, 3}
set4 = {1, 2, 3, 4, 5, 6}

print(set1 < set2)   # 子集
print(set2 > set1)   # 超集

 

你可能感兴趣的:(python,#,python基础)