码迷,mamicode.com
首页 > 其他好文 > 详细

列表、元组、字典与集合

时间:2018-09-07 21:34:36      阅读:280      评论:0      收藏:0      [点我收藏+]

标签:注意   ddr   添加   判断   基本   ted   最大和   marked   blog   

一、列表

  序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。Python有6个序列的内置类型,但最常见的是列表和元组。序列都可以进行的操作包括索引,切片,加,乘,检查成员。此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型,创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。

1、使用[ ]或list()创建列表

list1 = []
list2 = [a,abc,apple,Monday]
empty = list()
empty

2、用list()转换其他数据类型为列表

list("apple")#字符串转列表
tuple_1 = ("apple","fire","ready")
list(tuple_1)#元祖转列表
#split()依据分隔符切割字符串为若干字串组成的列表
data = 1/22/333
data.split(/)
#连续分隔符返回列表会出现空串元素
data_1 = a/b//c//d/e
data_1.split(/)
data_1.split("//")#分隔符改变

3、获取元素、修改元素以及使用切片提取元素

(1)获取元素

data = [apple,delete,pink,blog]
print(data[0])
print(data[-1])
#当偏移量小于起始位置或大于末尾位置时会发生异常
print(data[5])#IndexError: list index out of range

(2)修改元素

data = [apple,delete,pink,blog]
data[1] = delete_1
print(data)

(3)使用切片提取元素

data = [apple,delete,pink,blog]
data[0:2]
#从列表开头开始每两个提取一个元素
data[::2]#[‘apple‘, ‘pink‘]
#尾部提取
data[::-2]#[‘blog‘, ‘delete‘]
#列表逆序
data[::-1]#[‘apple‘, ‘delete‘, ‘pink‘, ‘blog‘]

 4、包含列表的列表

data_0 = [apple_0,delete_0,pink_0,blog_0]
data_1 = [apple_1,delete_1,pink_1,blog_1]
data_2 = [apple_2,delete_2,pink_2,blog_2]
data = [data_0,data_1,data_2]
print(data)#[[‘apple_0‘, ‘delete_0‘, ‘pink_0‘, ‘blog_0‘], [‘apple_1‘, ‘delete_1‘, ‘pink_1‘, ‘blog_1‘], [‘apple_2‘, ‘delete_2‘, ‘pink_2‘, ‘blog_2‘]]
print(data[1])#[‘apple_1‘, ‘delete_1‘, ‘pink_1‘, ‘blog_1‘]
print(data[1][1])#delete_1

5、主要方法

技术分享图片
#append()添加元素到尾部
data = [apple,delete,pink,blog]
data.append(form)
print(data)
#extend()或+=合并列表
data_1 = [apple,delete,pink,blog]
data_11 = [apple_11,delete_11]
data_1.extend(data_11)
print(data_1)
data_1+=data_11
print(data_1)
#insert()指定位置插入元素
data_2 = [apple,delete,pink,blog]
data_2.insert(2,hahaha)
print(data_2)
#del删除指定位置元素
data_3 = [apple,delete,pink,blog]
del data_3[1]
print(data_3)
#remove删除指定值的元素
data_4 = [apple,delete,pink,blog]
data_4.remove(apple)
print(data_4)
#pop获取并删除指定位置元素(不指定偏移量默认为-1)
data_5 = [apple,delete,pink,blog]
data_5.pop()
print(data_5)
data_5.pop(1)
print(data_5)
#index()查询特定值位置元素
data_6 = [apple,delete,pink,blog]
data_6.index(delete)
#in判断值是否存在
data_7 = [apple,delete,pink,blog]
apple in data_7#True
apple_1 in data_7#False
#count()特定值出现次数
data_8 = [apple,delete,apple,delete,pink,apple,blog]
data_8.count(apple)#3
#使用join()转换为字符串******
data_9 = [apple,delete,pink,blog]
,.join(data_9)#‘apple,delete,pink,blog‘
func = #
joind = func.join(data_9)
print(joind)
joind_1 = joind.split(func)#join()是split的逆过程
print(joind_1)
#len()获取长度
data_10 = [apple,delete,pink,blog]
len(data_10)#4
#sort重新排列元素
#sort()改变原列表内容,sorted()原列表内容不改变
  #元素是数字,默认从小到大,reverse = True可改为降序
data_11 = [b,appl,pi,del]
data_11_sd = sorted(data_11)
data_11_sd#[‘appl‘, ‘b‘, ‘del‘, ‘pi‘]
print(data_11)#[‘b‘, ‘appl‘, ‘pi‘, ‘del‘]
print(**20)
data_11.sort()
data_11#[‘appl‘, ‘b‘, ‘del‘, ‘pi‘]
  #元素是数字时
num = [2,1,4.0,3]
num.sort()
num #[1, 2, 3, 4.0]
num.sort(reverse = True)
num #[4.0, 3, 2, 1]
#使用=赋值,使用copy()复制
a = [1,2,3,4]
b = a
a[0] = 11
print(a)
print(b)
#注意:a与b指向同一个对象
c = [1,2,3,4,5]
d = c.copy()
e = list(c)
f = c[:]
c[2] = 33 # 改变c的值不影响d,e,f的值
print(d)#[1, 2, 3, 4, 5]
print(e)#[1, 2, 3, 4, 5]
print(f)#[1, 2, 3, 4, 5]
View Code 

二、元组

元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。

#创建空元组
empty = ()
empty #()
#元素只有一个时需要跟着一个逗号***,多个元素随意
one_tp = apple,
print(one_tp)
more_tp = apple,pink,doubt
print(more_tp)
#元组赋值给多个变量(元组解包)
marx_tp =(apple,pink,doubt)
a,b,c = marx_tp
print(a)
print(b)
print(c)
#多个变量值进行交换不需借助临时变量
pwd = apple
ice = ping
pwd,ice = ice,pwd
print(pwd)
print(ice)
#tuple()函数的使用
data = [apple,delete,pink,blog]
tuple(data)
print(data)

注意:与元组相比,列表比较灵活(列表方法函数较多),但为什么不在所有地方都使用列表呢?

1、元祖占用空间较少

2、不会意外修改元组值

3、元组可用作字典的键

4、命名元组可以作为对象的替代

5、函数的参数是以元组形式传递的

三、字典

字典是另一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。

字典的每个键值对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中。

1、创建字典

#创建空字典
empty_dt = {}
empty_dt#{}

data = {"name":"egon","age":28,"addr":"郑州"}
print(data)

#使用dict()转换成字典
data_dict = [["a","b"],["c","d"],["e","f"]]
dict(data_dict)#{‘a‘: ‘b‘, ‘c‘: ‘d‘, ‘e‘: ‘f‘}
data_dict_1 = [("a","b"),("c","d"),("e","f")]
dict(data_dict_1)#{‘a‘: ‘b‘, ‘c‘: ‘d‘, ‘e‘: ‘f‘}
data_dict_2 = (["a","b"],["c","d"],["e","f"])
dict(data_dict_2)#{‘a‘: ‘b‘, ‘c‘: ‘d‘, ‘e‘: ‘f‘}
#双字符
data_dict_db = ["ab","cd","ef"]
dict(data_dict_db)#{‘a‘: ‘b‘, ‘c‘: ‘d‘, ‘e‘: ‘f‘}
data_dict_db1 = ("ab","cd","ef")
dict(data_dict_db1)#{‘a‘: ‘b‘, ‘c‘: ‘d‘, ‘e‘: ‘f‘}

2、添加、修改和获取元素

 

 

 

 

 

 

 

 

 

 

 

 

 

四、集合

列表、元组、字典与集合

标签:注意   ddr   添加   判断   基本   ted   最大和   marked   blog   

原文地址:https://www.cnblogs.com/bijian/p/9579950.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!