当前位置:   article > 正文

python-列表、元组、字符串、集合、字典等用法_python中集合列表元组

python中集合列表元组

目录

1.列表(list)

1.1   列表的定义语法

1.2   列表的下标索引

1.3   列表的常用操作

1.4   列表的循环遍历示例

2.元组(tuple)

3.字符串

4.数据容器(序列)的切片

4.2序列切片课后练习

5.集合(set)

5.1   集合的操作方法

6.字典(dict)

7.容器排序,排序之后会变成列表对象


1.列表(list)

列表是一种有序、可变的数据容器。它可以存储任意类型的数据,包括数字、字符串、列表等。列表使用方括号 [] 来定义,各个元素之间用逗号分隔。

1.1   列表的定义语法

  1. # 定义一个列表 list
  2. my_list = ['zhanyijia', 'hello', 'python']
  3. print(my_list)
  4. print(type(my_list))
  5. my_list = ['zhanyojai', 12345, True]
  6. print(my_list)
  7. print(type(my_list))
  8. # 定义一个嵌套的列表
  9. my_list = [['hello', 1, 2], [3, 4, 5]]
  10. print(my_list)
  11. print(type(my_list))
  12. my_list.append(1)
  13. print(my_list)
'
运行

运行结果:

1.2   列表的下标索引

列表的下标索引从0开始,逐个递增。例如,对于一个长度为n的列表,第一个元素的下标索引为0,最后一个元素的下标索引为n-1。可以使用下标索引来获取列表中的特定元素,也可以使用负数的下标索引来从列表末尾开始访问元素,例如-1表示最后一个元素,-2表示倒数第二个元素。

  1. # 通过下标索引取出对应位置的数据
  2. my_list = ['tom',"lily","rose"]
  3. print(my_list[0])
  4. print(my_list[1])
  5. print(my_list[2])
  6. print(my_list[-1])
  7. print(my_list[-2])
  8. print(my_list[-3])
'
运行

运行结果:

1.3   列表的常用操作

list.index("元素"):查找元素所在的索引下标,查找不到会报错

list.insert(插入位置,"元素"):在指定下标位置插入元素

list.append("元素"):将元素追加到列表最后

list.extend(list1):将list1追加到list中

list.clear():清空列表

list.count("元素"):计算元素在list中的个数

删除元素:del 列表[下标],        列表.pop(下标),        列表.remove("元素")

  1. my_list = ["hello", "ityijia", "python"]
  2. # 查找某元素再列表内的下标索引
  3. index= my_list.index("hello") # 查询不到会报错
  4. print(index)
  5. # 修改特定位置的元素值
  6. my_list[0] = '你好'
  7. print(f"列表被修改元素值后,结果是:{my_list}")
  8. # 在指定下标位置插入元素
  9. my_list.insert(1, "bbbbbb")
  10. print(f"列表被插入元素值后,结果是:{my_list}")
  11. # 追加元素
  12. my_list.append("520")
  13. print(f"列表被追加元素值后,结果是:{my_list}")
  14. # 追加一批元素
  15. list2 = [1, 2, 3]
  16. my_list.extend(list2)
  17. print(f"列表被追加一批元素值后,结果是:{my_list}")
  18. # 删除元素,删除指定索引元素
  19. del my_list[2] # 方法一,del 列表[下标]
  20. my_list.pop(1) # 方法二,列表.pop(下标)
  21. my_list.remove('python') # 方法三 列表.remove(元素)
  22. # 清空列表
  23. my_list.clear()
  24. print(f"列表被清空的结果是:{my_list}")
  25. # 统计某元素在列表内的数量
  26. list3 = [1, 1, 1, 1, 2, 2, 2, 4, 4, 5, 543]
  27. count = list3.count(1)
  28. print(f"列表中1的数量是:{count}")
  29. # 统计列表全部元素数量
  30. num = len(list3)
  31. print(num)
'
运行

运行结果:

1.4   列表的循环遍历示例

  1. def list_while_func():
  2. """
  3. 使用while循环遍历列表的演示函数
  4. :return:
  5. """
  6. my_list = ["你好","你真好","python"]
  7. # 循环条件,下标索引变量<列表的元素数量
  8. index = 0
  9. while index < len(my_list):
  10. element = my_list[index]
  11. print(f"列表的元素:{element}")
  12. index += 1
  13. def list_for_func():
  14. """
  15. 使用for循环遍历列表的演示函数
  16. :return:
  17. """
  18. my_list = [1,2,3,4,5,6]
  19. for element in my_list:
  20. print(f"列表的元素有:{element}")
  21. list_while_func()
  22. list_for_func()
  23. # 练习案例,定义一个列表,内容是:[1,2,3,4,5,6,7,8,9,10]
  24. # 遍历列表,取出偶数存入一个新的列表中,使用while循环和for循环各操作一次
  25. list = [1,2,3,4,5,6,7,8,9,10]
  26. index1 = 0
  27. list_1 = []
  28. list_2 = []
  29. while index1 < len(list):
  30. element = list[index1]
  31. if element % 2 == 0:
  32. list_1.append(element)
  33. index1 += 1
  34. for element in list:
  35. if element % 2 == 0:
  36. list_2.append(element)
  37. print(list_1)
  38. print(list_2)
'
运行

运行结果:

2.元组(tuple)

元组是一种有序、不可变的数据容器。它可以存储任意类型的数据,和列表类似,但元组的元素不可修改。元组使用圆括号 () 来定义,各个元素之间用逗号分隔。

  • 元组的定义和操作
  1. # 定义元组
  2. t1 = (1, "hello", True)
  3. t2 = ()
  4. t3 = tuple()
  5. # 定义单个元素的元组
  6. t4 = ("hello", )
  7. # 元组的嵌套
  8. t5 = ((1, 2, 3), (4, 5, 6))
  9. # 下标索引取出内容
  10. num = t5[1][2]
  11. print(num)
'
运行

3.字符串

str.index("元素"):查找元素的起始下标

str.replace("原字符串", "新字符串"):将原的字符串替换为新的字符串。

str.split():字符串的分割,字符串本身不变,会得到一个新的列表对象

str.strip():去除前后空格

str.strip("字符串"):去除前后指定字符串

  1. my_str = "my name is zhanyijia"
  2. # index方法
  3. value = my_str.index("name")
  4. print(f"字符串{my_str}中查找name,其起始下标是:{value}")
  5. # replace方法,字符串的替换
  6. my_str_replace = my_str.replace("name", "isisisis")
  7. print(my_str_replace) #是一个新的字符串
  8. # split方法,字符串分割,字符串本身不变,会得到一个列表对象
  9. list = my_str.split(" ")
  10. print(list)
  11. # strip方法
  12. # 字符串.strip(),去除前后空格
  13. # 字符串.strip(字符串),去除前后指定字符串
  14. my_str = " my name is iiiiii "
  15. new_my_str = my_str.strip()
  16. print(new_my_str)
  17. newnew_my_str = new_my_str.strip("my")
  18. print(newnew_my_str)
'
运行

运行结果:

4.数据容器(序列)的切片

  1. # 对list进行切片,从1开始,4结束,步长1
  2. list = [0,1,2,3,4,5,6,7]
  3. result1 = list[1:4]
  4. print(f"结果1:{result1}")
  5. # 对tuple进行切片,从头开始,最后结束,步长1
  6. tuple1 = (0,1,2,3,4,5,6,7)
  7. result2 = tuple1[:]
  8. print(f"结果2:{result2}")
  9. # 对str进行切片,从头开始,最后结束,步长2
  10. str = "01234568789"
  11. result3 = str[::2]
  12. print(f"结果3:{result3}")
  13. # 对str进行切片,从头开始,最后结束,步长-1
  14. my_str = "0123456789"
  15. result4 = my_str[::-1]
  16. print(f"结果4:{result4}")
  17. # 对列表进行切片,从3开始,到1结束,步长-1
  18. my_list = [0,1,2,3,4,5,6,7]
  19. result5 = my_list[3:1:-1]
  20. print(f"结果5:{result5}")
  21. # 对元组进行切片,从头开始,最后结束,步长-2
  22. my_tuple1 = (0,1,2,3,4,5,6,7)
  23. result6 = my_tuple1[::-2]
  24. print(f"结果6:{result6}")
'
运行

运行结果:

4.2序列切片课后练习

  1. # 将字符串中:“万过薪月,居悦亦区湾来,nohtyp学”
  2. # 用学过方法,得到“湾区亦悦居”
  3. # 方法一:可切片取出,然后倒序
  4. # 方法二:split分隔“,” replace替换“来”为空,倒序字符串
  5. # 方法一
  6. str = "万过薪月,居悦亦区湾来,nohtyp学"
  7. result1 = str[9:4:-1]
  8. print(result1)
  9. # 方法二
  10. split = str.split(",") # 分隔逗号,中文逗号
  11. print(split[1][4::-1])
'
运行

5.集合(set)

无序的可变容器,存储唯一的元素。集合使用花括号 {} 来表示,元素之间使用逗号分隔。

5.1   集合的操作方法

集合.add("元素"):添加新元素

集合.remove("元素"):移除元素

集合.pop():随机取出一个元素,同时元素会被删除

集合.clear():清空集合

集合1.difference(集合2):取出集合1和集合2的差集(集合1有而集合2没有的),会得到一个新集合

集合1.difference_update(集合2):在集合1内删除与集合2相同的集合,集合1被修改,集合2不变

集合1.union(集合2):将集合1与集合2合并为一个新集合

  1. # 定义集合,集合不允许元素重复,会去重,内容无序
  2. my_set = {"nihao", "hello word", "或许是", "nihao", "hello word", "或许是", "nihao", "hello word", "或许是"}
  3. my_set_empty = set() # 定义空集合
  4. print(f"my_set的内容是:{my_set},类型是{type(my_set)}")
  5. print(f"my_set_empty的内容是:{my_set_empty},类型是{type(my_set_empty)}")
  6. # 添加新元素
  7. my_set.add("python")
  8. print(f"my_set添加元素后的结果是:{my_set}")
  9. # 移除元素
  10. my_set.remove("nihao")
  11. print(f"my_set移除元素后的结果是:{my_set}")
  12. # 随机取出一个元素,同时元素会被删除
  13. my_set_pop = my_set.pop()
  14. print(my_set_pop)
  15. # 清空集合
  16. my_set.clear()
  17. print(my_set)
  18. # 取2个集合的差集
  19. # 集合1.difference(集合2),取出集合1和集合2的差集(集合1有而集合2没有的)
  20. # 会得到一个新集合
  21. set1 = {1, 2, 3}
  22. set2 = {1, 5, 6}
  23. set3 = set1.difference(set2)
  24. print(f"取出差集后的结果:{set3}")
  25. print(f"取出差集后,原有set1的结果:{set1}")
  26. print(f"取出差集后,原有set2的结果:{set2}")
  27. # 消除2个集合的差集
  28. # 集合1.difference_update(集合2)
  29. # 在集合1内,删除与集合2相同的元素,集合1被修改,集合2不变
  30. set1 = {1, 2, 3}
  31. set2 = {1, 5, 6}
  32. set1.difference_update(set2)
  33. print(f"消除差集后,集合1结果:{set1}")
  34. # 2个集合合并为1个,会得到一个新集合
  35. set1 = {1, 2, 3}
  36. set2 = {1, 5, 6}
  37. set3 = set1.union(set2)
  38. print(f"合并之后的结果是:{set3}")
  39. # 统计集合元素数量
  40. set1 = {1, 2, 3, 4, 5, 6, 7, 8}
  41. num = len(set1)
  42. print(f"集合内的元素数量有:{num}个")
  43. # 集合的遍历
  44. # 集合不支持下标索引,不能用while循环
  45. # 可以用for循环
  46. set1 = {1, 2, 3, 4, 5, 6}
  47. for element in set1:
  48. print(f"集合的元素有:{element}")
'
运行

运行结果:

6.字典(dict)

无序的可变容器,存储键-值对数据。字典使用花括号 {} 来表示,键-值对之间使用冒号 : 分隔,键-值对之间使用逗号分隔。

字典的相关用法:

  1. # 字典的定义
  2. my_dict1 = {"王力红": 99, "周杰轮": 88, "林俊节": 77}
  3. # 定义空字典
  4. my_dict2 = {}
  5. my_dict3 = dict()
  6. # 定义重复key的字典
  7. my_dict1 = {"王力红": 99, "王力红": 88, "林俊节": 77}
  8. print(f"重复key的字典内容是:{my_dict1}")
  9. # 从字典中基于key获取value
  10. my_dict1 = {"王力红": 99, "周杰轮": 88, "林俊节": 77}
  11. score = my_dict1["王力红"]
  12. print(f"王力红的考试分数为:{score}")
  13. # 定义嵌套字典
  14. stu_score_dict = {
  15. "王力红":{
  16. "语文":77,
  17. "数学":66,
  18. "英语":33
  19. },"周杰轮":{
  20. "语文": 88,
  21. "数学": 86,
  22. "英语": 99
  23. },"林俊节":{
  24. "语文": 23,
  25. "数学": 56,
  26. "英语": 44
  27. }
  28. }
  29. # 从嵌套字典中获取数据
  30. # 看一下周杰轮的语文信息
  31. score = stu_score_dict["周杰轮"]["语文"]
  32. print(f"周杰轮的语文分数:{score}")
  33. # 字典添加元素,如元素存在则更新字典
  34. my_dict1["猪猪"] = 789
  35. print(f"添加元素后的字典结果为:{my_dict1}")
  36. # 删除元素
  37. my_dict1.pop("林俊节")
  38. print(f"删除元素后的结果为:{my_dict1}")
  39. # 清空字典
  40. my_dict1.clear()
  41. print(f"清空字典后的结果为:{my_dict1}")
  42. # 获取全部的key
  43. my_dict4 = {"王力红": 99, "zhan": 88, "林俊节": 77}
  44. keys = my_dict4.keys()
  45. print(f"字典的全部key是:{keys}")
  46. # 拿到keys可以遍历字典,拿到全部的value值
  47. for k in keys:
  48. print(k)
'
运行

运行结果:

7.容器排序,排序之后会变成列表对象

sorted()方法:

  1. # 进行容器排序,排序之后会变成列表对象
  2. my_list = [5,2,1,4,8]
  3. my_tuple = (3,1,2,5,4)
  4. mt_str = "zxcvbnm"
  5. mt_set = {3,1,2,5,4}
  6. my_dict = {"key3":1,"key1":2,"key2":3,"key5":4,"key4":5,"key6":1}
  7. print(f"列表对象的排序结果:{sorted(my_list)}")
  8. print(f"元组对象的排序结果:{sorted(my_tuple)}")
  9. print(f"字符串对象的排序结果:{sorted(mt_str)}")
  10. print(f"集合对象的排序结果:{sorted(mt_set)}")
  11. print(f"字典对象的排序结果:{sorted(my_dict)}")
'
运行

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/836734
推荐阅读
相关标签
  

闽ICP备14008679号