Python中的列表、元组、字典、集合

Python中的列表、元组、字典、集合

1.列表list是可变的对象
2.元组tuple是不可变的对象
3.字典dict类似于Java中的HashMap,以键值对出现
4.集合set类似于列表,区别在于集合不包含重复的值

1.列表list

#!/usr/bin/python
list=[1,2,3,'a','b','c']
print(list[3])  #按索引访问

list[0]="hello" #通过索引更新元素
print(list)

list.append("hi")  #新增单个元素
print(list)

list.insert(1,"world") #在指定位置插入元素
print(list)

list2=[1,3,5,7,9]
list.append(list2) #append只能新增单个元素,会把列表作为一个新的元素添加
print(list)

list.extend(list2) #extend会把列表拆开,然后逐个添加
print(list)

print(list.pop())  #pop()方法默认删除并返回列表最后一个元素

print(list.pop(8)) #pop()方法可删除并返回指定下标的元素

list.remove("hello") #remove()方法可根据元素内容进行删除(删除找到的第一个元素)
print(list)

del list[2] #del关键字可删除指定下标的元素
print(list)

print("world的下标为:",list.index("world")) #通过元素的值查找下标(值不存在会输出错误信息)

list.reverse() #reverse()方法用于反转队列
print(list)

print("a出现的次数为:",list.count("a")) #count()方法用于统计某个元素在列表中出现的次数

number=[9,3,76,54,4,7,32]
number.sort() #sort()方法用于对列表元素进行排序
print(number)
运行结果如下:
a
['hello', 2, 3, 'a', 'b', 'c']
['hello', 2, 3, 'a', 'b', 'c', 'hi']
['hello', 'world', 2, 3, 'a', 'b', 'c', 'hi']
['hello', 'world', 2, 3, 'a', 'b', 'c', 'hi', [1, 3, 5, 7, 9]]
['hello', 'world', 2, 3, 'a', 'b', 'c', 'hi', [1, 3, 5, 7, 9], 1, 3, 5, 7, 9]
9
[1, 3, 5, 7, 9]
['world', 2, 3, 'a', 'b', 'c', 'hi', 1, 3, 5, 7]
['world', 2, 'a', 'b', 'c', 'hi', 1, 3, 5, 7]
world的下标为: 0
[7, 5, 3, 1, 'hi', 'c', 'b', 'a', 2, 'world']
a出现的次数为: 1
[3, 4, 7, 9, 32, 54, 76]

2.元组tuple

元组不可以进行增删改,可查,可删除整个元组,元组的查询速度比列表快

#!/usr/bin/python
tuple=(1,) #元组只有一个元素时,末尾需加逗号,

del tuple  #删除整个元组

tuple=(1,2,3,3) #定义多个元素的元组
print(tuple)

print("3出现的次数为:",tuple.count(3)) #count()方法用于统计某个元素出现的次数

print("2的下标为:",tuple.index(2)) #index()方法用于查找指定元素的下标
运行结果为:
(1, 2, 3, 3)
3出现的次数为: 2
2的下标为: 1

3.字典dict

#!/usr/bin/python
student = {
	"name":"zhangsan",
	"age":18,
	"gender":"male"
}
print(student)
print("name is:",student["name"]) #通过键访问值

student["age"] = 20 #通过键修改值
print(student)

student["major"] = "software" #新增与修改语法一致
print(student)

del student["major"]  #del关键字,通过键删除字典元素
print(student)

student2=student.copy()
print("student2的内容为:",student2)

student.clear()  #clear方法清空字典
print("清空字典",student)

del student  #删除整个字典

seq = ("name","age","gender")
student=dict.fromkeys(seq)  #fromkeys方法将指定序列的元素作为键,创建新字典
print(student) #没有指定默认值,默认值为None

student2 = dict.fromkeys(seq,666)   #指定默认值
print(student2)

print("name is ",student2.get("name")) #get方法返回指定键对应的值

print(student2.keys()) #keys()方法返回字典的所有键

print(student2.values()) #values()方法返回字典所有的值

print(student2.items()) #items()方法返回字典的所有键值对

for k,v in student2.items(): #遍历字典
	print(k,"--",v)
运行结果如下:
{'name': 'zhangsan', 'age': 18, 'gender': 'male'}
name is: zhangsan
{'name': 'zhangsan', 'age': 20, 'gender': 'male'}
{'name': 'zhangsan', 'age': 20, 'gender': 'male', 'major': 'software'}
{'name': 'zhangsan', 'age': 20, 'gender': 'male'}
student2的内容为: {'name': 'zhangsan', 'age': 20, 'gender': 'male'}
清空字典 {}
{'name': None, 'age': None, 'gender': None}
{'name': 666, 'age': 666, 'gender': 666}
name is  666
dict_keys(['name', 'age', 'gender'])
dict_values([666, 666, 666])
dict_items([('name', 666), ('age', 666), ('gender', 666)])
name -- 666
age -- 666
gender -- 666



4.集合set

#!/usr/bin/python
empty = set()  #空集合必须用set()定义
print("空集合",empty)

number = {1,3,5,7,9} #非空集合可直接用花括号定义
print(number)

str = set(["hello","world"]) #非空集合还可通过set加集合定义
print(str)

str.add("zhangsan")  #通过add()方法添加元素(重复的元素不会添加)
print(str)

str.remove("zhangsan")
print(str)

del number  #删除集合

number1 = {1,2,3,4,5,6,7}
number2 = {1,3,5,7,9,11}
print("number1",number1)
print("number2",number2)
print("交集",number1 & number2)
print("并集",number1 | number2)
print("差集",number1 - number2)
print("对称差集",number1 ^ number2)

运行结果如下:
空集合 set()
{1, 3, 5, 7, 9}
{'world', 'hello'}
{'zhangsan', 'world', 'hello'}
{'world', 'hello'}
number1 {1, 2, 3, 4, 5, 6, 7}
number2 {1, 3, 5, 7, 9, 11}
交集 {1, 3, 5, 7}
并集 {1, 2, 3, 4, 5, 6, 7, 9, 11}
差集 {2, 4, 6}
对称差集 {2, 4, 6, 9, 11}



©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页