运行环境
IDE: PyCharm
解释器:python3.6.4
Python 是一门有条理的和强大的面向对象的程序设计语言,代码从上到下依次执行
列表
name_list=["小明","小主"]
print(name_list[1])
# 查询索引
name_list.index("小明")
#修改
name_list[0]="小哥"
#添加
#append 方法可以向列表的末尾追加数据
name_list.append("小库")
#insert 方法可以在列表的指定索引位置插入数据
name_list.insert(1,"小晓")
#extend方法可以在列表末尾追加一个列表的完整内容
temp_list=["假人","真人"]
name_list.extend(temp_list)
#删除
#remove 方法可以从列表中删除指定数据 如果有多个一样的数据 删除第一个
name_list.remove("小主")
#pop方法默认可以删除列表中最后的一个数据
name_list.pop()
#pop方法可以指定删除元素的索引
name_list.pop(2)
#del关键字删除数据 关键字本质是用来将一个变量从内存中删除的
#后续的代码就不能再使用这个变量了
#del name_list[1]
#列表中有多少个元素
list_length = len(name_list)
#conut 方法可以统计列表中某个数据出现的 次数
print("列表中包含 %d 个元素" % list_length)
#clear 方法可以清空列表
name_list.clear()
#排序
name2_list=["how","kool","koot","buool"]
num_list =[34,4,5,65]
#升序
#num_list.sort()
#name2_list.sort()
#降序
#num_list.sort(reverse=True)
#name2_list.sort(reverse=True)
#逆序(翻转)
name2_list.reverse()
num_list.reverse()
print(num_list)
print(name2_list)
#print(keyword.kwlist)
#使用迭代遍历列表
"""
顺序的从列表中依次获取数据,每一次循环过程中,数据都
会保存在my_name 这个变量中,在循环体内部可以访问到
当前这一次获取到的数据
"""
for my_name in name2_list:
print("我的名字是 %s" % my_name)
元组
#元组 一旦定义不可修改
name_Tuple=("werw","toll","dxr")
empty_tuple=()#空元组
single_tuple=(5,)#只含一个元素的元组要加逗号
print(name_Tuple[1])#取值
print(name_Tuple.index("dxr"))#去索引
print(name_Tuple.count("toll"))#统计计数
print(len(name_Tuple))
#使用迭代遍历元组
for my_Tuple in name_Tuple:
#使用格式字符串拼接my——Tuple,不方便 因为保存的类型可能不同
print(my_Tuple)
#元组与列表相互转换
#元组————>列表
#list(name_Tuple)
#列表————>元组
#tuple(name2_list)
字典
#字典
#字典是一个无序的数据集合,使用print函数输出字典时,通常输出的顺序和定义的顺序是不一致的!
xiaoming ={"name":"小明","age":19,"gender": True}
print(xiaoming)
#取值
print(xiaoming["name"])
#增加/修改 如果key不存在添加键值对 存在为修改
xiaoming["height"]=1.80
#删除
xiaoming.pop("age")
#统计键值对数量
print(len(xiaoming))
#合并字典
#如果被合并的字典中包含已经存在的键值对,会覆盖原有的键值对
temp_dict ={"weigth":134}
xiaoming.update(temp_dict)
#清空字典
#xiaoming.clear()
#遍历字典
for k in xiaoming:
print("%s - %s" %(k,xiaoming[k]))
card_list =[
{"name":"张三",
"age" : 23},
{"name":"李四",
"age":22}
]
for card_info in card_list:
print(card_info)
字符串处理
str1 ="hello python"
print(str1[4])
#遍历字符串的各个元素
# for c in str1:
# print(c)
#统计字符串长度
print(len(str1))
#统计某个(子)小字符串出现的次数
print(str1.count("o"))
#某一子字符串出现的位置 如果使用index传递的子字符串不存在, 程序会保错
print(str1.index("llo"))
print(str1.rindex("llo"))#从右边开始查找
#判断空白字符
space_str =" \t\n\r"
print(space_str.isspace())
#三个判断数字方法
#都不能包含小数
num_str ="1"
print(num_str.isdecimal())#不可以使用\u00b2这是平方符号
print(num_str.isdigit())#可以使用\u00b2这是平方符号
print(num_str.isnumeric())#可以使用\u00b2这是平方符号 可以使用中文数字 如一千六
#判断是否以指定字符串开始
print(str1.startswith("hello"))
#判断是否以指定的字符串结束
print(str1.endswith("python"))
#查找指定的字符串 即求索引
#index方法也可以查找指定的字符串在大字符串中的索引
#find方法如果指定的字符串不存在会返回-1 index是报错
print(str1.find("llo"))
#替换字符串 str.replace("旧字符串","新字符串")
#replace 方法执行完成之后,会返回一个新的字符串
#注意:不会修改原有的字符串的内容
str1.replace("world","python")
#判断是否某一个元素是否在另一个元素中存在 返回值为true false
print("1" in "1,2,3")
print("1" not in "1,2,3")
#文本对齐
#str1.rjust()#右对齐
#str1.ljust()#左对齐
print(str1.center(20," "))#居中 即默认在左右两侧生产英文空格
#去除空白字符
# str1.rstrip()#清除右边空白字符
# str1.lstrip()#清除左边空白字符
# str1.strip()#清除左右空白字符
#拆分和连接
poem_str ="静夜思\t 李白\t 举头望明月\t 低头思故乡"
poem_list = poem_str.split()#默认为空格作为分割符
print(poem_list)
#合并字符串 使用" "为分隔符 list--》str
result_poem =" ".join(poem_list)
print(result_poem)
#切片
num_str2="0123456789"
#num_str2[开始:结束(不包括):度长] 倒数 用负值 -1为倒数第二个
print(num_str2[2:6])
print(num_str2[:])
print(num_str2[::2])
print(num_str2[2:-1])
print(num_str2[-1::-1])#实现了字符串倒序显示