Python初学(九)列表,元组,字典

                                                                                                                                                                                                 

目录

                                                                                                                                                    一.列表

1.创建列表:

2. 使用list对象创建列表对象及输入

 3.列表的切片

4.列表的排序

二、元组

1.创建一个元组

 2.元组的常用操作及与列表间的转换

三、字典

1.定义一个字典并输出和循环遍历

 2.字典的增删改查 

3.字典的统计、合并、清空

4.字典的zip函数


一.列表

在Python中没有数组,可以使用列表代替。列表是一组有序项目的数据结构。创建后,可以访问、修改、删除列表中的元素。

1.创建列表:

#创建空列表
l1 = []
#创建带一个元素的列表
l2 = [1]
#创建带不同类型元素的列表
l3 = ["a","b",123]
print(l1,l2,l3)

2. 使用list对象创建列表对象及输入

#list对象创建空列表
l1 = list()
#list对象创建带元素的列表
l2 = list("abc")
l3 = list(range(3))
print(l1, l2, l3)

 可以使用append、insert、extend函数对列表插入

a =[1,2,3,5,6,7,8]
#append可向列表表尾添加元素
a.append(9)
print(a)
#insert可在指定索引位置插入数据
a.insert(3,4)
print(a)
temp=[10]
#extend可将另一个完整列表追加到列表之后
a.extend(temp)
print(a)

 输出结果

 [1, 2, 3, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

 3.列表的切片

切片可以访问一定范围内的元素,生成一个新的序列。

#导入随机数
import random
#创建一个包含20个元素,元素范围在1-100之间
list1 = [random.randint(1,100)for i in range(20)]
#[0::2]表示从下标为0的元素开始,步长为2
list1[0::2] = sorted(list1[0::2],reverse = True)
print(list1)

 打印结果,切片偶数,按倒叙排列

[87, 21, 83, 40, 67, 80, 65, 21, 45, 80, 37, 22, 33, 86, 29, 25, 21, 67, 4, 30]

a = [87, 20, 83, 40, 67, 81, 65, 21, 45, 80, 37, 22, 33, 86, 29, 25, 19, 67, 4, 30]
#[:10]表示从第1个元素到第十个元素切片出来
m = a[:10]
m.sort()
a[:10] = m
#[10:]表示从第11个元素到最后一个元素切片
n=a[10:]
n.sort(reverse=True)
a[10:]=n
print(a)

 打印结果,前十个数升序排列,后十个数倒序排列

 [20, 21, 40, 45, 65, 67, 80, 81, 83, 87, 86, 67, 37, 33, 30, 29, 25, 22, 19, 4]

4.列表的排序

import random
#创建一个20个数的随机列表
a = [random.randint(1,100)for i in range(20)]
m = a[:10]
#sort函数为升序排列
m.sort()
a[:10] = m
n=a[10:]
#sort(reverse=True)为倒叙排列
n.sort(reverse=True)
a[10:]=n
print(a)

[1, 2, 7, 12, 25, 27, 44, 52, 62, 91, 95, 94, 90, 85, 80, 70, 51, 50, 32, 17] 

二、元组

元组(Tuple)与列表类似,但元组内的元素不可改变

用[]定义

1.创建一个元组

tuple1 = ("zhangsan",18,1.75)

空元组的创建

tuple2 = ()

 如果元组内仅包含一个元素,需要在元素后面添加

tuple2 = (1,)

 2.元组的常用操作及与列表间的转换

tuple1 = ("zhangsan",18,1.75)
#取值和取索引
print(tuple1[0])
print(tuple1.index(18))
#统计计数
print(tuple1.count(18))
#统计元组中元素的个数
print(len(tuple1))

 zhangsan
1
1
3

 如果想对元组的元素进行操作,可先转换成列表,操作完在转换成元组

import random
a = tuple(random.randint(10,99)for i in range(20))
#将a转换成列表
b = list(a)
m = b[:10]
m.sort()
b[:10]=m
n=b[10:]
n.sort(reverse=True)
b[10:]=n
再将b转换成元组进行输出
c=tuple(b)
print(b)

 [12, 16, 19, 20, 35, 61, 65, 66, 66, 99, 93, 93, 88, 86, 82, 56, 43, 39, 24, 19]

三、字典

字典是除列表以外Python中最灵活的数据类型,可以用来存储多个数据,字典是一组无序的对象集合。用{}定义,字典使用键值对存储数据,键值对之间使用分割。

1.定义一个字典并输出和循环遍历

xiaoming = {"name":"xiaoming",
            "qq":12345,
            "phone":122}
#输出
print(xiaoming)
#循环遍历输出
for w in xiaoming:
    print(w,xiaoming[w])

 {'name': 'xiaoming', 'qq': 12345, 'phone': 122}

 name xiaoming
qq 12345
phone 122

 2.字典的增删改查 

xiaoming = {"name":"xiaoming"}
#1.取值
print(xiaoming["name"])
#2.增加/修改
#如果key不存在,会增加键值对
xiaoming["age"] = 18
print(xiaoming)
#如果key存在,则修改存在的键值对
xiaoming["name"] = "小明"
print(xiaoming)
#3.删除
xiaoming.pop("age")
print(xiaoming)

 xiaoming
{'name': 'xiaoming', 'age': 18}
{'name': '小明', 'age': 18}
{'name': '小明'}

3.字典的统计、合并、清空

ming_dict = {"name":"xiaoming","age":18}
#获取字典的长度(元素个数)
print(len(ming_dict))
#合并两个字典
temp_dict = {"height":1.75,
             "age":20}
#tips:若被合并的字典中包含已经存在的键值对,会覆盖原有键值对
#      若不存在,则取并集
ming_dict.update(temp_dict)
print(ming_dict)
#清除字典中的元素
ming_dict.clear()
print(ming_dict)

4.字典的zip函数

keys = ['a','b','c','d']
values = [1,2,3,4]
dictionary = dict(zip(keys,values))
print(dictionary)

{'a': 1, 'b': 2, 'c': 3, 'd': 4}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值