列表、元组、字典

1、

# -*- coding: utf-8 -*-

# list是一个类,列表
# 通过list类创建的对象 li
li = [1, 520, "age", '中国', 'name']
classmates = ['Michael', 'Bob', 'Tracy']
# 第一:接下来就是怎么样总结写那个列表的特征
# 第二:利用中括号包起来的
# 第三:,利用这个来分割每一个元素
# 第四:列表中的元素可是是数字、字母、字符串、列表、所有都可以放进去
# 第五:print("输出全部的值%s" % li)


# 索引取值
# 用索引来访问list中每一个位置的元素,记得索引是从0开始的:
# print("输出第二值%s" % li[1])
# 当索引超出了范围时,Python会报一个IndexError错误,
# 所以,要确保索引不要越界,记得最后一个元素的索引是len(classmates) - 1。
# 如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素:
# print(li[-1])
# 以此类推,可以获取倒数第2个、倒数第3个:
# print(li[-2])
# print(li[-3])


# 切片取值
# print(li[1:2])
# 修改值

# print(li)
# print("+++++++++++++++++++++++++++++")
# # li.insert(1, '123')
# li[1:3] = [520, 1314]
# print(li)


# 查询列表的值也可以通过循环进行编列
# for item in li:
#     print(item)


# 变量classmates或者li就是一个list。用len()函数可以获得list元素的个数
# print(len(li))
# print(len(classmates))

# 也可以把元素插入到指定的位置,比如索引号为1的位置:  这里就是指定你想要的位置
# classmates.insert(1, 'Jack')
# print(classmates)
# 你也可以使用append()方法来添加列表项 这个是必须增加到最后面的
# li.append("python")
# print(li)


# 要删除list末尾的元素,用pop()方法:
# li.pop()
# print(li)


# 要删除指定位置的元素,用pop(i)方法,其中i是索引位置:
# classmates.pop(-1)
# print(classmates)
# del li[4]
# print(li)


# 要把某个元素替换成别的元素,可以直接赋值给对应的索引位置:
# classmates[1] = 'Sarah'
# print(classmates)

# list元素也可以是另一个list,
# s = ['python', 'java', ['asp', 'php'], 'scheme']
# print(len(s))
# print(s)


# # 要注意s只有4个元素,其中s[2]又是一个list,如果拆开写就更容易理解了:
# p = ['asp', 'php']
# s = ['python', 'java', p, 'scheme']


# 要拿到'php'可以写p[1]或者s[2][1],因此s可以看成是一个二维数组,
# 类似的还有三维、四维……数组,不过很少用到。
#
# 如果一个list中一个元素也没有,就是一个空的list,它的长度为0:


# 还有这次in的操作
# li = [1, 520, "age", '中国', 'name']
# v = 520 in li
# print(v)


# 接下来怎么样把字符串转换成为列表
# list("hafsdhwdjfh") 内部直接使用了for循环

# s = "sdjhfhsdjfhsjkdhf"
# new_list = list(s)
# print(new_list)


# 接下来怎么样把列表转换成为字符串
# 条件:列表里面有数字与字符串,需要自己写for循环进行处理

# li = [11, 22, 33, "dhfh", "list", "name"]
# s = ""
# for i in li:
#     s = s + str(i)
#
# print(s)

# 条件2:如果列表里面只有字符串的情况下,可以直接利用函数join进行调用拼接起来
# li = ["dhfh", "list", "name"]
# v = "".join(li)
# print(v)

# 还有自己调用列表的函数也可以进行操作,
# 就是原来的值,就是字符串的值不可以改变,列表的值可以改变

lia = ["dhfh","list","name", "aaaa"]
# lia.append("aa")
# print(lia)

# 清空列表
# lia.clear()
# print(lia)


# 3拷贝 copy()
# co = lia.copy()
# print(co)

接下来开始写元组的代码

其实元组就是对列表加工改造而来的

 

 

Python的元组与列表类似,不同之处在于元组的元素不能修改。

元组使用小括号,列表使用方括号。

元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

元组中只包含一个元素时,需要在元素后面添加逗号

tup1 = (50,);

元组与字符串类似,下标索引从0开始,可以进行截取,组合等。

 

现在,classmates这个tuple不能变了,它也没有append(),insert()这样的方法。其他获取元素的方法和list是一样的,你可以正常地使用classmates[0]classmates[-1],但不能赋值成另外的元素。

 

不可变的tuple有什么意义?因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。

# encoding=utf-8

# 列表 list
li = ["aa", 11, 520]

# 元组
# 元素不能修改,不能被增加或者删除
tup1 = (12, 34, 56)
# tup2 = ('abc', 'xyz', 520)
# L = ('spam', 'Spam', 'SPAM!')
s = "sdjhfhsdjfhsjkdhf"

# 元组的操作的功能
# 索引
# v = tup1[0]
# print(v)

# 计算元组的个数
# print(len(L))

# 返回元组最大的元素
# print(max(tup1))

# 怎么样将列表转化成为元组
# print(tuple(li))

# 怎么样将元组转化为列表
# print(list(L))

# 怎么样将字符串转换成为元组
# v = tuple(s)
# print(v)

# 怎么样将元组转换成为字符串
# 两种情况吧
# 第一种有数字与字符串的情况下  利用for循环进行迭代
# tup2 = ('abc', 'xyz', 520)
# s = ""
# for t in tup2:
#     s = s + str(t)
#
# print(s)

# 第二种情况就是都是字符串的情况下就可以直接利用join函数
# L = ('spam', 'Spam', 'SPAM!')
# v = "".join(L)
# print(v)










 

字典

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:

Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。

举个例子,假设要根据同学的名字查找对应的成绩,如果用list实现,需要两个list:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值