python 序列: 列表(list) 元祖(tuple) 字典(dict) 集合(set)详解

序列: 列表(list) 元祖(tuple) 字典(dict) 集合(set)

列表

什么事列表? 简单来说就是有序的 可变的 可包含任意对象的集合
  属于可变序列
  可包含任意类型对象
  通过下标访问元素 (从0开始)
  长度可变 任意嵌套
列表的使用
列表的定义 "[  ]"
通过下标获取
  list=[1,2,3,4,5,"asdf"]
  例 : print(list[2])
  例 : print(list[:3])
  例 : print(list[3:])
  例 : print(list[-2::2])
list.append()在列表的末尾添加一个元素
list[下标]=值  修改某一个元素的值
嵌套
  例 : list1=[1,2,3,["as","as",55],"a8",99]
遍历列表中的元素
list1=[1,2,3,["a","as","a8",99]
1.
  for i in range(0,len(list1)):
    print(list1[i])
2.
  for j in list1:
    print(j)
3.
list1=[[1,2,3],['w','e','r']]
  for k in list1:
    print(k)
    for item in k:
      print(item)
list1=[[1,2,3],456,['w','e','r']]
  for k in list1:
      print(k)
      if isinstance(k,list):
          for item in k:
              print(item)
      else:
           print(k)
列表排序
list1=[34,5,2,63,35]
list1.sort()  #从小到大进行排序,改变的是本身
print(list)
sorted()  #函数
#列表元素是字母的话按照首字母进行排序,如果首字母相同则按下一位字母排序
list1.surt() #按照最后一个字母进行排序
倒置列表
list1.sort(reverse=True) #先排序
  print(list1)
list1.reverse()
  print(list1)
list() #函数
print("123456")  #字符串转为列表
t=(‘sd’,'sdsss',46)
print(list(t))  #元祖转为列表
判断一个元素是否在序列之内
print("元素" in list1) #在列表内输出True 否则输出False
连接序列
print(list1+list2)
list3=list1+list2
重复序列元素
print([5,4]*4)
步长
print (list1[::2])

print(max(list1)) 列表最大值

print(min(list1)) 列表最小值

判断一个元素在序列中的位置
print(list1.index(元素值))
统计某个元素在序列中出现的次数
print(list1.count(元素值))
删除
del list[0]     根据下标删除元素
.remove()  根据元素的值删除元素,如果元素重复则删除第一个元素
.clear()   清空序列
.pop()     检索病删除特定元素 默认从最后一个删除
添加
.append() 添加到元素的末尾
.extend() 拓展列表
.insert() 插入元素
复制序列

直接赋值会出现共享引用 改其中一个序列的值另一个序列也会改变

.copy()
列表名[:]
例:list2=list1.copy()
例:list3=list1[:]
list=list2 # 共享引用
“”.join() 将列表转为字符串
list_1 = list(str)

元祖

:元祖是不可变的
:可包含任意对象的集合
:通过下标访问对象
:不支持原位改变
:元祖内如果只有一个元素的话必须在元素后加一个逗号“,” 否则会默认为字符串
:不可修改删除
元祖的定义
例:db_info=("ip","admin","password")
访问元祖
例:db_info[0]
    db_info[0:2]

遍历元祖跟列表一样

sorted() 排序后会返回一个新的元祖,本来的元祖不会发生改变
例:
a=(4,5,6,"aa")
new_db=sorted(a)

#
#

字典

:是无序的 可变的
:可包含任意对象的键值对(key:value)
:长度可变 任意类型 嵌套
:通过键取值
:键不能重复  键名重复后边的键值会把前边的键值覆盖掉
字典的定义
例:
dict_info1={} # 创建一个空的字典
dict_info={1:"name1",2:"nam2",3:"name3"}
字典修改
例:
dict_info[1]="erpan"
查询 通过键取值
例:
print(dict_info[2])
添加键值对
例:
dict_info["age"]="23"
删除键值对 通过键删除
例:
del dict_info["age"]
.keys() 方法 获取字典中说有的键
.valuea() 方法 获取字典中所有的值
.items() 方法 获取字典中所有的键值对
.clear() 清空字典
取字典中单个key
例:
dict_info={1:"name1",2:"nam2",3:"name3"}
key1,key2,key3=dict_info
print(key1)
print(key2)
通过键值取对应的key
例:
dict={1:"name1",2:"name2",3:"name3"}
key_list=list(dict.keys()) #将字典所有key转化为列表
value_list=list(dict.values()) #将字典中所有键值转化为列表
#字典中所有的key和键值都是对应的
re=key_list[value_list.index("name1")] # 获取key列表的下标 通过key下标获取键值列表的键值
print(re)

集合 注:集合不允许有重复的对象(自动去重)

无序的  可变的
包含任意类型
任意长度 嵌套
支持原位改变
定义
例:
set_info={"hell","lala","hehe"}
print(set_info) # 不按照原来的顺序随机顺序输出

er=set("hellow") # 对字符串去重
print(er)

set_null=set() #创建一个空的集合
.add 添加
例:
set_info.add()
.update 更新 将序列内的元素添加到集合中
例:
set_info.update(序列)
.remove()和.discard() 删除
例:
注:.remove删除一个不存在的值会报错
set_info.remove()
注:.discard删除一个不存在的值不会报错
set_info.discard()
.pop() 随机删除集合中的某个元素并返回该元素的值
例:
result=set_info()
print(result)

交集、并集、差集、对称差集

交集
现有两个集合 set1 set2
两种方式:
result1=set1 & set2
result2=set1.intersection(set2)
并集
两种方式:
result1=set1 | set2
result2=set1.union(set2)
差集
意思是输出那些不是共有的
#set里边有set2里边没有的
result1=set1 - set2
result2=set1.difference(set2)
对称差集
意思是去掉两个集合都存在的元素然后合并
result1=set1 ^ set2
result2=set1.union(set2)

你可能感兴趣的:(python 序列: 列表(list) 元祖(tuple) 字典(dict) 集合(set)详解)