下面是Python中List、Tuple、Set和Dictionary的区别和应用的完整攻略。
List(列表)
List是Python的一种序列类型,可以存储多个有序的元素。List使用方括号[ ]进行声明,各元素使用逗号(,)隔开。List中的元素可以是数字、字符串等数据类型。List是可变的,可以通过对元素的添加、删除、修改等操作来改变List的内容。
声明一个List
list1 = [1,2,3,4]
list2 = ['a','b','c','d']
访问和修改List中的元素
print(list1[0]) #输出为1
list2[1] = 'hello'
print(list2) #输出为['a', 'hello', 'c', 'd']
List的常用操作
#添加元素
list1.append(5)
#输出为[1, 2, 3, 4, 5]
#插入元素
list1.insert(0,0)
#输出为[0, 1, 2, 3, 4, 5]
#删除元素
list1.remove(0)
#输出为[1, 2, 3, 4, 5]
#查询元素位置
list1.index(4)
#输出为3
#统计元素个数
list1.count(3)
#输出为1
#排序
list1.sort()
#输出为[1, 2, 3, 4, 5]
Tuple(元组)
Tuple是Python的一种序列类型,和List相似,但是不同的是Tuple是不可变的。Tuple使用小括号()或者没有括号来进行声明。
声明一个Tuple
tuple1 = (1,2,3,4)
tuple2 = 'a','b','c','d'
访问Tuple中的元素
print(tuple1[0]) #输出为1
尝试修改Tuple中的元素
tuple2[1] = 'hello'
#会抛出TypeError: 'tuple' object does not support item assignment
Tuple由于不可变的特性,所以不能进行添加、删除、修改等操作。但是Tuple中的元素可以是List,因此可以修改List中的元素。
tuple3 = (1, [2,3], 4)
tuple3[1][0] = 'hello'
print(tuple3) #输出为(1, ['hello', 3], 4)
Set(集合)
Set是Python中的一种无序、不重复的数据类型。Set使用大括号{ }或者set()函数来声明。Set中的元素必须是不可变的,例如数字、字符串、元组等。
声明一个Set
set1 = {1,2,3,4}
set2 = set(['a','b','c','d'])
访问Set中的元素
由于Set是无序的,因此无法像List和Tuple一样通过下标来访问元素。可以使用循环遍历集合中的所有元素。
for i in set1:
print(i)
#输出为1,2,3,4
Set的常用操作
#向Set中添加元素
set1.add(5)
#输出为{1,2,3,4,5}
#从Set中删除元素
set1.remove(1)
#输出为{2,3,4,5}
#求Set中所有元素的和
sum(set1)
#输出为14
Set的数学运算
set1 = {1,2,3}
set2 = {2,3,4}
#求Set的交集
print(set1 & set2) #输出为{2,3}
#求Set的并集
print(set1 | set2) #输出为{1,2,3,4}
#求Set的差集
print(set1 - set2) #输出为{1}
#求Set的对称差集
print(set1 ^ set2) #输出为{1,4}
可以使用Set进行去重操作。
list4 = [1,2,3,3,4,5,5,5]
set3 = set(list4)
print(set3) #输出为{1,2,3,4,5}
Dictionary(字典)
Dictionary是Python中的一种键值对数据类型。Dictionary使用花括号{ }或者dict()函数来声明,其中每个键值对使用冒号(:)分隔,各个键值对之间使用逗号(,)隔开。Dictionary中的键必须是不可变类型,例如数字、字符串和元组等,而值可以是任意类型。
声明一个Dictionary
dict1 = {'name': 'Tom', 'age': 20, 'gender': 'male'}
访问Dictionary中的元素
可以根据key来访问Dictionary中的值。
print(dict1['name']) #输出为Tom
修改Dictionary中的元素
dict1['name'] = 'Jerry'
print(dict1) #输出为{'name': 'Jerry', 'age': 20, 'gender': 'male'}
Dictionary的常用操作
#删除Dictionary中的元素
del dict1['gender']
#输出为{'name': 'Tom', 'age': 20}
#遍历Dictionary中的所有键
for key in dict1.keys():
print(key)
#输出为name, age
#遍历Dictionary中的所有值
for value in dict1.values():
print(value)
#输出为Tom, 20
#遍历Dictionary中的所有键值对
for key, value in dict1.items():
print(key, value)
#输出为name Tom, age 20
Dictionary的应用
Dictionary是非常常用的数据类型。例如可以使用Dictionary来统计一段话中出现的单词个数。
text = 'This is a test. This is only a test.'
words = text.lower().split()
word_counts = {}
for word in words:
if word not in word_counts:
word_counts[word] = 1
else:
word_counts[word] += 1
print(word_counts)
#{'this': 2, 'is': 2, 'a': 2, 'test.': 1, 'only': 1, 'test.': 1}
另外,可以使用Dictionary来模拟缓存和数据库查询等应用场景。
cache = {}
def query_database(query):
if query in cache:
print('Query found in cache:')
return cache[query]
else:
print('Query not found in cache. Searching database...')
result = search_database(query)
cache[query] = result
return result
以上就是Python中List、Tuple、Set和Dictionary的区别和应用的完整攻略。希望能够对您有所帮助。