列表
我们引入一个新的概念:数据机构
数据结构是通过某种方式组织在一起的数据元素的集合,这些数据元素可以是数字或字符,甚至可以是其他数据结构>,在python中,最基本的数据结构是序列,序列中的每个元素匾被分配一个序号--即元素的位置,也称为索引,第一>个索引是0,第二个则是1,以此类推
列表是什么
列表由一系列特定顺序排列的元素组成,你可以创建包含字母表中所有字母,数字或所有家庭成员姓名的列表;也可>以将任何东西加入列表中,其中的元素之间可以没有任何关系
# 列表的修改
#将列表序列号为几的元素改为某种元素
motorcysles = ['honda','suzuki','yamaha']
print motorcysles
motorcysles[1]='bmw'
print motorcysles
# sort :对列表中元素进行排序(按照ASC码次序)
cars = ['bmw','audi','toyota','subaru']
print cars
cars.sort()
print cars
# 添加列表元素
#append : 在列表末尾添加某个元素
motorcysles = ['honda','suzuki','yamaha']
print motorcysles
motorcysles.append('bmw')
print motorcysles
# .sort(reverse=True):倒序(按照ASC码顺序)
cars = ['bmw','audi','toyota','subaru']
print cars
cars.sort (reverse=True)
print cars
# 插入列表元素
#insert(num,'')列表某个位置插入某个元素
motorcysles = ['honda','suzuki','yamaha']
print motorcysles
motorcysles.insert(1,'bmw')
print motorcysles
#列表内容的追加
# extend : 把另外一个列表的完整内容追加到当前列表的末尾
motorcysles = ['honda','suzuki','yamaha']
print motorcysles
num = [1,2,3,4,5]
motorcysles.extend(num)
print motorcysles
# 列表内容的删除
# 1.del: 关键字,本质上是将一个变量从内存中删除
# (此方法很少用)
motorcysles = ['honda','suzuki','yamaha']
print motorcysles
del motorcysles[1]
print motorcysles
# 2.pop:将列表最后一个元素
motorcysles = ['honda','suzuki','yamaha']
print motorcysles
motorcysles.pop()
print motorcysles
# 3.remove :移除某一个元素
motorcysles = ['honda','suzuki','yamaha']
print motorcysles
motorcysles.remove('honda')
print motorcysles
names = ['alice','david','lily','haha']
for print_list in names:
print print_list
cars = ['bmw','audi','toyoto','subaru','bmw']
# len()获得列表的长度
print len(cars)
# count:可以统计列表中某一个元素出现的次数
print cars.count('bmw')
# remove方法,默认删除列表中出现的第一个元素
# 此元素在列表中不唯一
# 如果想不起来方法三怎么使用的时候,将鼠标放在方法名上
# ctrl + q
cars.remove('bmw')
print cars
# 1.
for num in range(1,7):
print num
#打印一个元素列表
xixi=list(range(1,7))
print xixi
# 2.
xixi=list(range(1,11,2)) # 从一到十每隔两个打印
print xixi
squares = []
for values in range(1,11):
square = values ** 2
#在列表squares后面追加列表square
squares.append(square)
print squares
字典
字典的定义
dictionary(字典)是除列表以外python中最灵活的数据类型
字典同样可以用来存储多个数据
通常用于存储描述一个物体的相关信息
和列表的区别
列表是有序的对象集和
字典是无序的对象集和
字典用{}定义
字典使用键值对存储数据,键值对之间使用,分隔
键key是索引
值value是数据
键和值之间使用;分隔
键必须是唯一的(因为我们必须通过键来找到数据)
值可以取任何数据类型,但键只能使用字符串,数字或元组
字典的定义:
# 字典是一个无序的数据集和,使用print函数输出字典时,
# 通常输出的顺序和定义的顺序是不一致的
# 字典是一个无序的数据集合,使用print输出的时候
# 通常和定义的顺序不一样
message = {'name':'wangmazi',
'age':19,
'height':75,}
print message
# 1.取字典中的某些对应的元素
print message['name']
# 2.对字典中某些元素进行增加和修改
message['age'] = 20 # 若原字典中有此元素定义后是对其进行修改
print message
message['sex'] = 'man' #若原字典中没有此元素定义后是对其进行添加
print message
# 3.对字典中某些元素进行删除
message.pop('name')
print message
card_list =[{'name':'wangmazi','age':19,'height':75,},
{'name':'zhangshan','age':20,'weight':75}]
for card_haha in card_list:
for xixi in card_haha:
print '%s------%s' % (xixi, card_haha[xixi])
message = {'name':'wangmazi',
'age':19,
'height':75,}
# 1.统计字典中键值对的数量
print len(message)
# 2. 合并字典
temp_dict ={'height':1.90,'sex':'man'}
message.update(temp_dict)
print message
# 3.清空字典
message.clear()
print message
card_list =[{'name':'wangmazi','age':19,'height':75,},
{'name':'zhangshan','age':20,'weight':75}]
for card_haha in card_list:
print card_haha
元组
元组的定义
Tuple(元组)与列表相似,不同之处在于元组的元素不能修改
元组表示多个元素组成的序列
元组在python开发中,有特定的应用场景
用于存储一串信息,数据之间使用,分隔
元组用()定义
# 列表中通常保存相同类型的数据,而元组中通常保存不同类型的数据
info_tuple = ('王麻子','张三',18,180)
# 1.info_tuple[num]取值(给出元组中元素的序号列出对应元素)
# 2.info_tuple.index('元素')取索引(写入元组种元素,写出对应的序列)
print info_tuple[1]
print info_tuple.index('王麻子')
# 3.统计计数(有多少个这种元素)
print info_tuple.count('张三')
# 4统计该元组中总共用有多少元素
print len(info_tuple)
info_tuple = ('王麻子',18,180)
print '%s的年龄是%d,身高是%.2f'%info_tuple
切片
字符串/列表/元组[开始索引:结束所引:步长(有跳跃有间隔的对字符串切片)]
倒叙索引:如果一个字符串/列表/元组很长很长,使用倒叙索引很方便
最后一个索引的倒叙引是:-1
1.指定的区间属于左闭右开型,从起始位置开始,到结束位置的前一位
2.从头开始,开始索引数字可以省略,冒号不可省略
3.步长默认为1
num_str = [0,1,2,3,4,5,6,7,8,9]
print num_str
# 列出列表中元素索引序号为2到4的元素
print num_str[2:5] # [] 为左闭右开的
print num_str[2:10] # 从序号为2的到序号为9
print num_str[2:] # 从序号为2的到末尾
print num_str[:] # 从序号起始位置到末尾
print num_str[0:5] # 从序号起始位置到序号为4的位置
print num_str[:5] # 从序号起始位置到序号为4的位置
print num_str[0:10:2] # 从开始到结束每隔一个(加2)
# 结果[0, 2, 4, 6, 8]
print num_str[9] # 列出序号为9的结果:9
print num_str[-1] # 列出倒叙第一个结果:9
print num_str[-1::-1] # 倒叙结果[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
字符串
str1 = 'hello python'
str2 = u"我的宠物名叫'粉条'"
for char in str1:
print char
for xixi in str2:
print xixi
hello_str = 'hello python hahaha'
# 1. 统计字符串的长度(多少个检索序列号)
print len(hello_str)
# 2.统计某一个小字符串即子字符串出现的次数
print hello_str.count('ha')
# 3.显示某一个子字符串出现的位置(检索序列号,若有多个此字符只显示第一个)
print hello_str.index('ha')
# 1.判断字符串是否只包含数字
num_str = '1'
print num_str
print num_str.isdigit()
# 2.判断是否以指定的字符串开始
hello_str = 'hello python'
hello_str.startswith('hello')
# 3.判断字符串是否以指定的字符串结束
print hello_str.endswith('on')
# 4. 查找指定字符串,返回的是一个索引
# 如果查找的指定字符串不存在,程序不会报错,会返回-1
print hello_str.find('yt')
# 5.替换字符串
print hello_str.replace('python','world')
print hello_str
# 6.判断字符串是否含有空格
null = ' '
print null.isspace()