列表 元组 字典的区别

1.列表

# [] , () , {}
list = [[],[],[]]
list = [('a','A'),('b','B'),('c','C')]
for x in list:
    print(x)
for x , y in list:
    print(x , y)
# 枚举 enumerate 可以让被遍历元素 添加一个编号(索引值)
# for 后面的第一个参数 即为索引值 第二个参数 为被遍历的元素
for x , y  in enumerate(list):
    print(x , y)
for x ,( y ,z ) in enumerate(list):
    print(x , y ,z )
list = [('a','A'),('b','B'),('c','C')]
list = [(1 ,[2, 3,]),(4,[5,6]),(7,[8,9])]
for index , ( x , [ y , z]) in enumerate(list):
    print(index , x , y , z)


list1 = ['a' , 'b' ,'c']
list2 = ['d','e','f']
# +可以使列表可以和字符串一样进行拼接
list3 = list1 + list2
print(list3)
# extend 扩展;添加
list1.extend(list2)
print(list1)

list1 = [['a'],['b'],['c']]
list2 = [['c'],['d'],['e']]
# extend 将被合并的集合的所有值给 主动进行合并的集合
# 最终结果 为两个集合的元素个数的总和
list1.extend(list2)
print(list1)
list1 = [['a'],['b'],['c']]
list2 = [['c'],['d'],['e']]
# 将list2作为一个整体 给list1 list1的元素的个数等于之前的个数+ 1
list1.append(list2)
print(list1)

list1 = range(1, 101)
list2 = []
for x in list1:
    if x % 2 == 1:
        list2.append(x)
        # print(list2)
print(list2)

# 列表推导式
list4 = [x for x in list1 if x % 2 ==1]
print(list4)

list = ['张三','张飞','张益达','关云长','赵子龙']
list5 = [x for x in list if x.startswith('张')]
print(list5)

list = ['1','2','3']
# reverse 相反的
list.reverse()
print(list)

list = [1, 2 ,3 ,4 ,5,6,7,8,9,10]
some = 0
for x in list:
    some += x
print(some)
result = sum(list)
print(result)

list = [ 1, 3, 5, 7 ,9 ,2 , 4 , 6 , 8, 10]
# revsrse 倒序  默认值为Flase
list2 = sorted(list , reverse = False)
print(list2)


list = ['a' , 'b' ,'c']
print(list[0])

list = [['a','b'],['c','d'],['e','f']]
print(list[1][0])

list = [
    [
        ['a'],  #[0][0][0]
        ['b']     #010
    ],
    [
        ['c'],  #100
        ['d']   # 110
    ],
    [
        ['e'],  # 200
        ['f']   # 210
    ]
]
print(list[2][0][0])

list1 = [ [1 ,2 ,4], [3, 4], [5 ,6]]
for x in list1:
    for y  in x :
        print(y)

list = [
        [
            ['a'],  # [0][0][0]
            ['b']  # 010
        ],
        [
            ['c'],  # 100
            ['d']  # 110
        ],
        [
            ['e'],  # 200
            ['f']  # 210
        ]
    ]

for x in list :
    for y in x :
        for z in y :
            print(z)
for x , [[y],[z]]in enumerate(list):
    print(y ,z)



2.元组

# 创建元组的两种方式
tp1 = ()
# 如果元组在创建的时候没有放入元素
# 那么这个元组就没有意义
tp2 = tuple()
# 元组和列表的区别:
# 列表可以任意进行增删改查等操作
# 元组只可以进行 查操作
list1 = []
list2 = list()

tp3 = ('a','b','c','d')
if 'a' in tp3:
    print('存在')
else :
    print('不存在')

item = tp3[3]
print(item)

# length 长度 在此表示元素的个数
print(len(tp3))

tp4 = ('q','w','e','r')
print(tp3 + tp4)
print(tp3)
print(tp4)


3.字典(和我们现实中的字典没有关系)


from  random import randint
# pretty 美好的;漂亮的  pretty boy printer打印;输出
from prettyprinter import pprint
# 字典   key  value   键值对
# list = ['a','b','c']
# key   0   1   2
# value a   b   c

# 声明字典的两种方式
dic1 = {}
dic2 = dict()

dic3 = {
    'name' : '小明' ,
    'age' :  17 ,
    # True代表男还是女 是自己规定的
    'sex' : True ,
    'height' : 1.76 ,
    'fond':['打游戏','学习','写代码','陪妹子逛街']
}
print(dic3)
print(dic3['fond'])
# 有的话 修改  没有属性则增加
dic3['age'] = 18
print(dic3['age'])
dic3['girlFriend'] = '凤姐'
print(dic3)

dic3.pop('girlFriend')
print(dic3)
# TypeError: pop expected at least 1 arguments, got 0
# pop期望得到最少1个参数 现在得到了0个
# dic3.pop()
print(dic3)


print(dic3.keys())
print(dic3.values())
# 判断key值是否存在
if 'fonds' in dic3.keys():
    print('fonds存在')
else :
    print('fonds不存在')

# 列表不需要添加字符串
if ['打游戏','学习','写代码','陪妹子逛街'] in dic3.values():
    print('学习存在')
else :
    print('不存在')

print(dic3)
pprint(dic3)

dic4 = {
    'name' : '小兰' ,
    'age' : 12 ,
    'fond' : '美食',
    'info':{
        'description':'很好的一个人',
        'phone':'123123123',
        'friend' : [
            {
                'friend_name':'小明' ,
                'frined_age' : 17
            },{
                'friend_name':'小王',
                 'friend_age':16
            },{
                'friend_name':'小张',
                'friend_age':14
            }
        ]
    }
}
# 获取key和value值
for key in dic4:
    # dic4['name']
    value = dic4[key]
    print(key , value)
# 获取key和value的第二种方法  (推荐这种写法)
for key ,value in dic4.items():
    print(key ,value)

# KeyError: 'class' 获取一个自己没有的key会报错
# value = dic4['class']
# print(value)

# 获取key对应的值 如果没有key 则赋予一个默认值
# 值1:key
# 值2:默认值
value = dic4.get('class','三年级二班')
print(value)


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值