重生归来,我要成功 Python 高手--day11 数据列表类型
·
元组
一旦定义不能更改,使用()每个元素之间使用,隔开,就算这个元组里面只有一个元素也需要加逗号
空元组 t=() / t=tuple()
特点:多个数据类型,可以查多个数据,有序存储,允许重复,不可修改,支持for/while循环
# 字面量
(1, 2, 3)
# 变量
t1 = (1, 2, 3)
# 空元组
t2 = ()
t3 = tuple()
# 一个元素的元组
t2 = (1,)
print(type(t2))
# 嵌套元组
t1 = ((1, 2, 3), (4, 5, 6))
print(t1[0][1])
# 操作
# 下标
t1 = (1, 3, 3, 5, 3, 2)
print(t1[1])
# 指定元素的下标
print(t1.index(3))
# 查看次数
print(t1.count(3))
# 查看元素个数
print(len(t1))
# 修改元组里面的list
t1 = (1, 3, 3, 5, 3, 2, False, True, [1, 2, 3])
print(t1[-1])
# 不能将list修改为新的list值
# t1[-1]=[1,3,4]
t1[-1].append(4)
print(t1)
"""
可以修改元组中列表的单个元素
不能修改元素中的整体修改操作
"""
# 操作
num = ("周杰伦", 11, ['football', 'music'])
print(num.index(11))
print(num[0])
num[-1].pop(0)
print(num)
num[-1].append("coding")
print(num)
print("-" * 20)
练习
# 11. 创建一个包含5个整数的元组,并打印出来。 # nums = (1, 2, 3, 4, 5) print(nums) # 12. 计算元组的长度。 # print(len(nums)) # 13. 从元组中提取第2到第4个元素。 # print(nums[1:4:1]) # 14. 尝试修改元组中的一个元素(观察是否报错)。 # nums[0]=5 # 报错 # print(nums) # 15. 合并两个元组。 nums2 = (7, 8, 9, 10, 11) nums3=nums+nums2 print(nums3) # 16. 找出元组中的最大值和最小值。 print(max(nums3)) print(min(nums3)) # 17. 创建一个嵌套元组并访问其中的元素。 nums=((1,2,3,4,5),(6,7,8,9,10)) print(nums[0][1]) print(nums[1][1]) # 18. 使用`count()`方法统计元组中某个元素的出现次数。 nums = (1, 2, 3, 4, 5,1,1,1,1,1) print(nums.count(1)) # 19. 使用`index()`方法查找元组中某个元素的索引。 print(nums.index(2))
字符串
“ ” ‘ ’ 三引号
只能存储字符,支持下标索引,但是不能能改,长度任意。允许重复支持for循环
# 字符串
str = "1234yayyyyyywshahaha"
# 下标索引
print(str[1]) # 2
# 统计
print(str.count("y")) # 7
# 查找下标
print(str.index("y")) # 4
# 查找子串的下标
print(str.index("hahaha")) # 14
# 字符串替换
s = str.replace("y", "s")
print(str) # 1234yayyyyyywshahaha
print(s) # 1234sasssssswshahaha
# 分割
s = "a b c"
list = s.split()
print(list) # ['a', 'b', 'c']
# 去除前后空格和换行符
s = " aavbbba "
print(s) # avbbb
s = s.strip()
print(s) # avbbb
# 去除前后指定字串
s = s.strip("a")
print(s) # vbbb
# 统计字符串中有多少个对应的子串
s = "a b c a a a a"
num = s.count("a")
print(num) # 5
# 统计字符串长度
s = "abcdwd你好#!"
num = len(s)
print(num) # 10
s="itheima itcast boxugu"
print(s.count("it"))
s=s.replace(" ","|")
print(s)
s=s.split("|")
print(s)
练习:
# 31. 创建一个字符串并打印出来。
str="aBcdEfG"
print(str)
# 32. 计算字符串的长度。
print(len(str))
# 33. 将字符串转换为大写。
print(str.upper())
# 34. 将字符串转换为小写。
print(str.lower())
# 35. 检查字符串是否以某个字符开头。
str2="aBcdEfG"
num=input("输入字符")
if str2[0]==num:
print(True)
else:
print(False)
# 36. 检查字符串是否以某个字符结尾。
str2="aBcdEfG"
num=input("输入字符")
if str2[-1]==num:
print(True)
else:
print(False)
# 37. 替换字符串中的某个字符。
str2="aBcdEfG"
str2.replace("a","A")
print(str2)
# 38. 分割字符串为列表。
print(str2.split())
# 39. 检查字符串是否只包含字母。
for i in str2:
num=ord(i)
if 65<=num<=90 or 97<=num<=122:
print("True")
else:
print("False")
集合
不支持元素重复,无序使用{}
空集合使用 s=set{}
# 集合
# 字面量
{1, 2, 3, 4, 5, "哈哈", 4, 5}
# 变量
a = {1, 2, 3, 4, 5, "哈哈", 4, 5}
print(a, type(a)) #{1, 2, 3, 4, 5, '哈哈'} <class 'set'>
# 空集合
b = set()
print(b, type(b)) # set() <class 'set'>
# 修改方法,不支持下标访问
# add 添加新元素
set1 = {"abc", "abe", 1, 2, 3, 4}
a.add("y")
a.add('a')
print(a) #{1, 2, 3, 4, 5, 'y', 'a', '哈哈'}
# remove 删除元素
a.remove("y")
print(a) #{1, 2, 3, 4, 5, 'a', '哈哈'}
# pop 随机抽取一个元素,得到一个元素的结果,原集合的元素被删除
print(a.pop()) #1
print(a) #{2, 3, 4, 5, 'a', '哈哈'}1
# 清空集合 clear
a.clear()
print(a) #set()
# 取集合的差值
set1={1, 2, 3}
set2={1,5,6}
set3=set1.difference(set2)
print(set3) #{2, 3}
# 消除两个集合的差值,在一中删除和二相同的元素,一会被修改
set1.difference_update(set2)
print(set1) #{2, 3}
# 两个集合合并为一个新的集合
set1={1, 2, 3}
set2={1,5,6}
set3=set1.union(set2)
print(set3) # {1, 2, 3, 5, 6}
# 长度
print(len(set3)) # 5
练习:
# 21. 创建一个包含5个整数的集合,并打印出来。
nums={1,2,3,4,5}
# 22. 计算集合的长度。
print(len(nums))
# 23. 向集合中添加一个元素。
nums.add(6)
print(nums)
# 24. 从集合中移除一个元素。
nums.remove(6)
print(nums)
print(nums.pop())
print(nums)
# 25. 合并两个集合。
nums1={1,2,3,4,5}
nums2={5,6,7,8,9}
nums3=nums1.union(nums2)
print(nums3)
# 26. 找出两个集合的交集。
print(nums1.intersection(nums2))
# 27. 找出两个集合的并集。
print(nums1.union(nums2))
# 28. 找出两个集合的差集。
print(nums1.difference(nums2))
# 29. 检查一个元素是否在集合中。
print(1 in nums1)
# 30. 清空集合。
nums1.clear()
print(nums1)
字典
使用的是键值对{}
{元素,元素,元素}
元素为:键:值
空字典 变量={} 变量=dict{}
字典没下标可以通过键来找对应的值
# 字典
# 定义字面量字典
var = {"y": 1, "x": 2, "z": 3}
# 字典变量
my_dict = {"y": 1, "x": 2, "z": 3}
print(my_dict, type(my_dict)) # {'y': 1, 'x': 2, 'z': 3} <class 'dict'>
# 定义空字典
my_dict = {}
my_dict2 = dict()
print(my_dict, type(my_dict)) # {} <class 'dict'>
print(my_dict2, type(my_dict2)) # {} <class 'dict'>
# 字典的key可以是任意单值类型,字符串或者数字
d4 = {
"周杰伦": {
"age": 11,
"addr": "北京",
"score": {
"语文": 55,
"数学": 44
},
},
"周1伦": {
"age": 11,
"addr": "京"
},
"周1伦": {
"age": 21,
"addr": "京",
"habby":["1","2","3","5"]
} # 后来的会把先来的覆盖掉,不允许重复
}
print(d4)
"""
{'周杰伦': {'age': 11, 'addr': '北京', 'score': {'语文': 55, '数学': 44}},
'周1伦': {'age': 21, 'addr': '京', 'habby': ['1', '2', '3', '5']}}
"""
print(d4["周1伦"])
# {'age': 21, 'addr': '京', 'habby': ['1', '2', '3', '5']}
print(d4["周杰伦"]["score"]["数学"]) # 44
print(d4["周1伦"]["habby"][2]) # 3
# 41. 创建一个包含3个键值对的字典,并打印出来。
sum={
"name":"yws",
"age":30,
"job":"python",
}
print(sum)
# 42. 计算字典的长度。
print(len(sum))
# 43. 访问字典中的某个键对应的值。
print(sum["name"])
# 44. 向字典中添加一个键值对。
sum["appy"]="aiai"
print(sum)
# 45. 从字典中移除一个键值对。
sum.pop("age")
print(sum)
print("-"*30)
# 46. 遍历字典的所有键。
for key in sum:
print(key)
print(sum.keys())
# 47. 遍历字典的所有值。
print(sum.values())
for key in sum:
print(sum[key])
# 48. 遍历字典的所有键值对。
for key in sum:
print(f"{key}:{sum[key]}")
更多推荐
所有评论(0)