python中的几种数据结构(列表、元组、字典、字符串)

一、列表

列表是Python中最基本最常用的的数据结构
列表中的每个元素都分配一个位置(索引)信息,第一个索引是0,第二个索引是1,依此类推
1.修改元素

#修改
bicycles = ['trek','bmw','readline']
print bicycles
##将列表中第一个元素修改
bicycles[0] = 'bmw'
print bicycles

这里写图片描述
2.增加元素

格式:列表名.append(要添加的元素)
添加列表元素,append在列表最后添加
#在列表末尾,添加元素
motorcycles = []
print motorcycles
motorcycles.append('honda')
motorcycles.append('yamaha')
motorcycles.append('bmw')
print motorcycles

这里写图片描述

格式:列表名.(指定位置索引,要添加的元素)
#insert:在列表的指定位置,添加元素
num = [1,2,3,4,5,6,7,8]
num.insert(3,'haha')
print num

这里写图片描述

格式:列表名.extend(要添加的列表名)
#extend:把另一个列表的完整内容追加到当前列表的末尾
natasha = ['hello','hi','cat','dog']
num = [1,2,3,4,5,6,7,8]
num.extend(natasha)
print num

3.查找元素

natasha = ['hello','hi','cat','dog']
查找列表中hello元素的位置索引值
a = natasha.index('hello')
print a

这里写图片描述
4.删除元素

1#del:关键字 本质上是将一个变量从内存中删除
natasha = ['hello','hi','cat','dog']
 del natasha[1]
 print natasha

(2#pop():括号中没有值时,默认将列表最后一个元素弹出
#pop():括号中如果有索引值,就会弹出指定位置元素
 pop = natasha.pop()
 print pop3#移出列表中指定元素
natasha.remove('hello')
print natasha

这里写图片描述
5.对列表中元素排序(正序和倒序)

#1.排序:sort升序
格式:列表名.sort()
animals = ['cat','dog','pig','sheep','monkey']
print animals
animals.sort()
print animals
#2.排倒序:sort=(reverse=True)
print animals.sort(reverse=True)
print animals

这里写图片描述

#1.sorted:临时对列表元素排序(升序)
animals = ['cat','dog','pig','sheep','monkey']
print animals
print sorted(animals)
print animals
#2.reverse():倒着打印列表元素
animals.reverse()
print animals

这里写图片描述
6.for语句在列表中的应用

names = ['xbw','yx','zwd','zjj','wbz']
#将列表中的元素依次打印出来
for print_list in names:
    print '%s is a handsome boy' %print_list
print 'Thank you!'

这里写图片描述
7.for语句与range的结合

#1.在屏幕上显示1~5数字
 for value in range(1,6):
     print value
#2.建一个列表,里面是数字1~5
#range()是左闭右开的,左边会从1算起,右边要多算一个
nums = list(range(1,6))
print nums
#3.将1~10里面的奇数找出,放入列表
nums = list(range(1,10,2))
print nums
#3.将1~10的整数平方,放入列表
squares = []
for values in range(1,11):
    square = values **2
    squares.append(square)
print squares

这里写图片描述

二、元组

元组的方法

info_tuple = ('张三',18,1.75,'李四','王麻子','李四')
#1.取值和取索引
#取出元组中索引值为0位置的元素
print info_tuple[0]
#取出元组中王麻子所对应的索引值
print info_tuple.index('王麻子')

#2.统计计数(有几个李四)
格式:元组名.count(元素名)
print info_tuple.count('李四')

#3.统计元组中包含元素的个数
格式:len(元组名)
print len(info_tuple)

这里写图片描述
元组和列表之间的转换

元组和列表最大的区别是列表中的元素可以修改,而元组中的元素值不可修改,
如果要强行修改元组中的值,可以将其转换为列表,然后来修改
例:
list=[1,2,3,4,5,6]
tuple=tuple(my_list)

注意:在定义单一元素的元组时,必须在元素后加上”,”
不然python解释器会自动识别其为某一类型的变量
single_tuple=(1,)

三、字典

字典的方法

#定义一个个人信息字典
#字典是一个无序的数据集合,使用print输出字典的时候
#通常和定义的顺序不一样
information = {'name':'tom',
               'age':18,
               'height':1.85,
               'weight':75}
print information

#1.取值
#取出'name'所对应的值
print information['name']

#2.增加/修改
#当元组中有age这个键值时,就为修改
information['age']=19
print information
#当元组中没有sex这个键值时,就为添加
information['sex'] = 'male'
print information
#3.删除
#弹出索引为name的值
information.pop('name')
print information

这里写图片描述

information = {'name':'tom',
               'age':18,
               'height':1.85,
               'weight':75}
1.统计字典中元素的个数
len(information)
print len(information)

2.合并字典
#字典的自定义键是可变的也是唯一的
#另一个字典中的键值在原字典中存在,则为更新
#另一个字典中的键值在原字典中不存在,则为添加
temp_dict = {'height':1.90,'sex':'male'}
information.update(temp_dict)
print information

3.清空字典
information.clear()
print information

这里写图片描述
4.遍历字典中的元素

message_dict = {'name':'harry',
                'qq':'123456',
                'phone':'10086'}
for k in message_dict:
    print ' %s-%s' %(k,message_dict[k])

这里写图片描述
5.保存多个名片信息,需要字典和列表的组合

card_list = [{'name':'jerry','qq':'123456','phnoe':'8888'},
             {'name':'tom','qq':'123456','phone':'6666'}]
for card_info in card_list:
    for card in card_info:
        print '%s - %s' %(card,card_info[card])

这里写图片描述

四、字符串

字符串的方法

xbw_str = 'hello world  wor'
#1.统计字符串的长度
print len(xbw_str)

#2.统计某一个小字符串(子字符串)出现的次数
print xbw_str.count('wor')

#3.某一个字符串出现的位置
print xbw_str.index('wor')
#使用index()方法的时候,如果子字符串不存在,程序会报错
print xbw_str.index('ss')

这里写图片描述

#1.判断字符串是否只包含数字
num_str = '1'
print num_str
print num_str.isdigit()

#2.判断是否以指定的字符串开始
hello_str = 'hello python'
print hello_str.startswith('e')

#3.判断字符串是否以指定的字符串结束
print hello_str.endswith('n')

#4.查找指定的字符串,返回的是一个索引
#如果查找的制定字符串不存在,程序不会报错,会返回-1
print hello_str.find('ww')

#5.替换字符串
#括号里前面的是旧的字符串,后面的是你要替换的新字符串
print hello_str.replace('python','star')
print hello_str

#6.判断字符串是否含有空格
#在python中,\t,\n换行符也代表空格
vv = '\t\n'
print vv.isspace()
#判断字符串中的是否为大写字母
print num_str.isupper()
#判断字符串中的是否为小写字母
print num_str.islower()

将字符串中的字符一个一个打印出来

#在字符串定义为中文时,在前面加上u,不然会乱码
str2 = u"我的宠物名叫多多"
for char in str2:
    print char

这里写图片描述

五、切片

格式
   字符串/列表/元组[开始索引:结束索引:步长(有跳跃有间隔的对字符串切片)]
num_str = '0123456789'
print num_str
#把字符串中的2~5截取出来
#左闭右开型
print num_str[2:6]

#把字符串中2~9截取出来(两种方法)
print num_str[2:10]
print num_str[2:]

#把字符串中的所有元素显示出来(两种方法)
print num_str[:]
print num_str[0:10]

#把字符串中0~5截取出来
print num_str[:6]

#把字符串中元素每隔一个显示出来,即步长为2
print num_str[0:10:2]
#步长为3
print num_str[::3]
#步长为4
print num_str[::4]

#把字符串中最后一个元素显示
print num_str[-1]

#把字符串后4位显示
print num_str[-4:]

#把字符串排倒序
print num_str[-1::-1]

这里写图片描述

猜你喜欢

转载自blog.csdn.net/xbw_linux123/article/details/81115522
今日推荐