Python的列表,元组与字典

1.列表

列表我们普遍的还是用list表示。

list=[[],[],[]]这是列表普遍的变现形式,下面给大家写一段代码。

list = [('a','A'),('b','B'),('c','C')]
for x in list:
    print(x)
for x , y in list:
    print(x , y)
for x , y  in enumerate(list): #枚举 enumerate 可以让被遍历元素 添加一个编号(索引值)
    print(x , y)
for x ,( y ,z ) in enumerate(list):
    print(x , y ,z )

点击运行,输出的结果分别为('a', 'A')('b', 'B')('c', 'C');    a A    b B    c C  ;

0 ('a', 'A')   1 ('b', 'B')      2 ('c', 'C');       0 a A     1 b B         2 c C

在这里第一个输出,x相当于里面(‘a’,‘b’)这类元组,第二个输出的x,y相当于里面最基本的元素

第三个输出x相当于一个索引值,y相当于一个元组;第四个输出,x为索引值,用,z为里面最基本的元素。

 下面给大家讲一下怎么把两个列表合并成一个列表,这里有两种办法。

list1 = ['a' , 'b' ,'c']
list2 = ['d','e','f']
list3 = list1 + list2
print(list3)

list1.extend(list2)
print(list1)

点击运行结果为两行['a', 'b', 'c', 'd', 'e', 'f']  ['a', 'b', 'c', 'd', 'e', 'f'],第一种方法是另外新建一个列表,把list1与list2两个列表相加,结果放在列表list3中;第二种需要用到extend进行延伸,相当于把列表list2的内容放到列表list1中,两种方法都很简单快捷。

下面给大家讲一下在列表中append与extend的用法。

list1 = [['a'],['b'],['c']]
list2 = [['c'],['d'],['e']]
list1.extend(list2)
print(list1)

list1 = [['a'],['b'],['c']]
list2 = [['c'],['d'],['e']]
list1.append(list2)
print(list1)

点击运行输出结果为[['a'], ['b'], ['c'], ['c'], ['d'], ['e']]   ;     [['a'], ['b'], ['c'], [['c'], ['d'], ['e']]]

大家通过这两种结果可以很清晰直观的比较到。extend是把两个列表的集合合并成一个列表的集合,最终结果是两个列表元素的总和;append是将列表list2作为一个整体放进列表list1里面,,元素个数相当于比之前只多了一个。

list1 = range(1, 101)
list2 = []
for x in list1:
    if x % 2 == 1:
        list2.append(x)
print(list2)
点击运行,输出结果为1到100的奇数[1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99],此程序还可以推导简化成为
list1 = range(1,101)
list3 = [x for x in list1 if x % 2 ==1]
print(list3)

点击运行,输出结果和上方的一样。

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

点击运行,输出结果为['张三', '张飞', '张益达'],该程序的作用是把首字为“张”的元素挑出来,startswith的意思为始于。

list = ['1','2','3']
list.reverse()
print(list)
点击运行,输出结果为['3', '2', '1'],reverse的意思为相反的,把列表中的元素倒序输出。
list = [1, 2 ,3 ,4 ,5,6,7,8,9,10]
sum = 0
for x in list:
    sum += x
print(sum)

result = sum(list)
print(result)

这里给大家介绍两种把列表内元素相加求和的编程,点击运行,输出结果为55   ;55.第一种是属于按照序列号一个一个相加,第二个则是直接全部相加求和。

list = [ 1, 3, 5, 7 ,9 ,2 , 4 , 6 , 8, 10]
list2 = sorted(list , reverse = True)
print(list2)

给大家讲一下列表内元素排序,如上方所示,点击运行,输出结果为[10, 9, 8, 7, 6, 5, 4, 3, 2, 1],在这里用到了sorted函数,当reverse=Ture为从大到小排序,当reverse=Flase时,为从小到大正向排序,默认为flase。

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

为了获取列表内的元素,我们要对列表进行如上的操作编程,点击运行,输出结果为竖向1,2,4,3,4,5,6。x相当于列表中的三个列表,y就相当于列表中列表的元素。

list = [
        [
            ['a'], 
            ['b']  
        ],
        [
            ['c'],  
            ['d']  
        ],
        [
            ['e'],  
            ['f']  
        ]
    ]

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

此列表只是把横向的列表变成竖向列表了。目的是为了更加直观的看出列表内到底包含了多少列表,元组或是字典。

点击运行,输出结果a,b,c,d,e,f;       a b , c d  ,  e  f。前者当然还是要从层层包裹的列表中过去里面的元素,后者是用序列号把三组元素组写了出来。

2.元组

创建元组有两种方式。tp1=();tp2=tuple。元组如果在创建时没有放入元素,那么这个元组就毫无意义。元组与列表的区别,列表可以任意的进行增删改查等操作,元组只能进行查的操作。

在元组内查找你所需要的元素在或是不在。

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

点击运行,输出结果为 “存在”。

在元祖内,用序号查询元素。

tp3 = ('a','b','c','d')
item=tp3[3]
print(item)

点击运行,输出结果为‘d’

看元组元素有多少个。

tp3 = ('a','b','c','d')
print(len(tp3))

点击运行,输出结果为‘4’

字典与字典之间的相加拼接。

tp3 = ('a','b','c','d')
tp4 = ('q','w','e','r')
print(tp3 + tp4)

点击运行,输出结果为('a', 'b', 'c', 'd', 'q', 'w', 'e', 'r')。

3.字典

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

dic3 = {
    'name' : '小明' ,
    'age' :  17 ,
    'sex' : '男' ,
    'height' : 1.76 ,
    'fond':['打游戏','学习','写代码','陪妹子逛街']
}
print(dic3['fond'])
dic3['age'] = 18
print(dic3['age'])
dic3['girlFriend'] = '小红'
print(dic3)
dic.pop('girlFriend')
print(dic3)

点击运行,输出结果为

    {'name': '小明', 'age': 18, 'sex': '男', 'height': 1.76, 'fond': ['打游戏', '学习', '写代码', '陪妹子逛街']}

第一个输出就是输出fond内的内容;第二个输出,如果字典中有的话,更改,没有的话就增加,如第三个,字典中并没有girlFriend这一元素,结果便直接添加到末尾。当想删除字典内的元素时,就用pop来完成。

dic3 = {
    'name' : '小明' ,
    'age' :  17 ,
    'sex' : '男' ,
    'height' : 1.76 ,
    'fond':['打游戏','学习','写代码','陪妹子逛街']
}
print(dic3.keys())
print(dic3.values()) 

点击运行输出,输出结果为dict_keys(['name', 'age', 'sex', 'height', 'fond'])

  dict_values(['小明', 18, '男', 1.76, ['打游戏', '学习', '写代码', '陪妹子逛街']])

下面再来看一个例子

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:
    value = dic4[key]
    print(key , value)
#获取key和value的第二种方法 
for key ,value in dic4.items():
    print(key ,value)

点击运行,获取key值与value值有两种方法,输出结果为

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对应的值,如果没有key,就赋予一个默认值在上面的变成代码中,我们继续编写

value = dic4.get('class','三年级二班')
print(value)

点击运行,输出结果为三年级二班。如果要获取一个自己没有的key,但是也没有赋予其一个默认值,那么结果便会报错。

今天的有关Python的列表,元组,字典内容便结束了,希望同学们可以学到自己想要学到的知识。









猜你喜欢

转载自blog.csdn.net/qq_42543244/article/details/80889259