# 字符串
1.定义:str类型的,是字符串。例如: var1 = 'Hello world!'
2.使用:
1.增:+
2.查:index(str), find(str), in
字符串的常用方法 def main(): print(help(''.isalnum)) str1 = 'hello, world' print(len(str1)) print(str1.capitalize()) print(str1.upper()) print(str1) print(str1.find('o')) # 给出出现的位置i 找不到返回-1 print(str1.index('o')) # 给出出现的位置,找不到报错 print(str1.startswith('He')) # 检查以什么开头的不是返回False 是的话返回True. print(str1.endswith('')) # 检查什么结尾的,是返回True,不是返回False print(str1.center(50, '*')) # 居中,空余位置以 填充 print(str1.rjust(50, ' ')) print(str1.ljust(50, '%')) str2 = 'abc123456' print(str2[2]) # 切片 print(str2[2:5]) # 切片 print(str2[-1::-1]) # 倒叙 print(str2[2:]) # 取位置2到结束 print(str2[2::2]) # 取位置2到结束,步长为2 print(str2[::2]) # 从前到后取完,步长为2 print(str2[-3:-1]) print(str1.isdigit()) # 判断是不是全是数字 print(str2.isalpha()) # 判断是不是全是字母 print(str2.isalnum()) # 判断是不是全是数字和字母 str3 = ' sfsfsdfsdff@126.com' print(str3) print(str3.strip()) # 去掉前后的空格。 if __name__ == '__main__': main()
# 列表
定义:
列表是Python中最基本的数据结构,序列中的每一个元素都分配一个数字,它的位置,或索引,第一个索引是0,以此类推。可以进行索引,切片,增,减,查。它是由方括号和逗号分隔来实现的。
创建:
list(), [1, 2, 3, 4], [x for x in range(6)]
# 列表的基本使用
def main(): f = [100, 200, 500] # print(f[0], f[1], f[2]) # for val in f: # val += 10 # print(val) # print(f) # # 遍历容器最好的做法!!!!! 既有下标,又有值。 # for index, val in enumerate(f): # print(index, ':', val) # CRUD操作Create Read Update Delete f.append(1) # 追加 f.insert(1, 1) # 插入 # f.remove(500) # 知道值,移除列表中的值,移除遇到的第一个值。如果没有就报错 if 1 in f: f.remove(1) # 上面的加强版,不知道值和位置 # f.clear() # 全部清除 del f[2] # 直到位置,直接删除指定位置的元素 print(f.index(100, 0, 5)) # 知道元素,找指定范围内元素的位置。 f.pop() # 不带入参数,默认删除最后一个值。 print(f) if __name__ == '__main__': main()
# 列表的多重使用,矩阵。
def main(): names = ['关羽', '张飞', '赵云', '马超', '貂蝉'] subjects = ['语文', '数学', 'Python'] table = [[0] * len(subjects) for _ in range(len(names))] # 创建一个5行3列的矩阵。 for row, name in enumerate(names): print('请输入%s的成绩:' % name) for col, subject in enumerate(subjects): score = int(input('%s:' % subject)) # 输入每个位置的值 table[row][col] = score # 将每个位置的值,填进去 print(table) if __name__ == '__main__': main()
# 元组tuple
定义:
和List很像,但是它是由圆括号和逗号分隔组成。用法和list一样,区别在于他里面的元素不可更改,且在时间和空间上都优于列表。不能使用增删操作
def second_max(x): # tuple 元组 不可更改,占的空间小一些。安全一些,能用元组,不用列表。 """ 输出最大值和第二大的值 :param x: 输入的列表 :return: 返回最大值和第二大的值 """ (m1, m2) = (x[0], x[1]) if x[0] > x[1] else (x[1], x[0]) for index in range(2, len(x)): if x[index] > m1: m2 = m1 m1 = x[index] elif m1 > x[index] > m2: m2 = x[index] return m1, m2 def main(): my_list = [35, 79, 92, 92, 68, 55, 40] print(second_max(my_list))
# 集合
定义:
由大括号和逗号分隔符组成,里面的元素不可重复,重复的会被删掉,只保留一个值,故没有顺序,随机,不可排序,没有下标。
def main(): set1 = {1, 1, 2, 2, 3, 3} set1.add(4) # 增加 print(set1) set2 = {1, 3, 5, 7, 9} print(set2) set3 = set1.intersection(set2) # 交集 & set1 & set2 print(set3) set3 = set1.union(set2) # 并集 | set1 | set2 print(set3) set3 = set1.difference(set2) # 差集 = 减去公共部分 - set1 - set2 print(set3) set3 = set1.symmetric_difference(set2) # 对称差 = 并集 - 交集 ^ set1 ^ set2 print(set3) for val in set2: print(val) print(set2.pop()) # 能拿一个,不能保证拿到的是哪个 print(set2) if 3 in set2: set2.remove(3) # 判断,删除元素 print(set2) set4 = {1, 2} print(set4.issubset(set1)) # 4是1的子集, set4 <= set1 print(set1.issuperset(set4)) # 1包含4. set1 >= set4 if __name__ == '__main__': main()
# 字典 dict
定义:
字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中。
def main(): dict1 = {'name': '张立', 'age': '34', 'jender': True, 'motto': 'hello world'} print(dict1['name']) print(dict1['age']) print(dict1['jender']) dict1['name'] = '王大锤' # 更新 print(dict1['name']) print(dict1) # dict1 +={'tell': '123456788'} dict1.update( height=174.5, fav=['吃', '喝']) # 增加元素 print(dict1.pop('age')) print(dict1.popitem()) # 删除 del print(dict1) for x in dict1: print(x, '--->', dict1[x]) # 查 # setdefault 返回 dict1.setdefault('motto', '开心') # 原来里面有,用原来的,如果未定义,返回我这里定义的。 if __name__ == '__main__': main()