Linux:python列表、字典、元组以、字符串以及切片

一·列表

我们引入一个新的概念:数据机构
数据结构是通过某种方式组织在一起的数据元素的集合,这些数据元素可以是数字或字符,甚至可以是其他数据结构>,在python中,最基本的数据结构是序列,序列中的每个元素匾被分配一个序号–即元素的位置,也称为索引,第一>个索引是0,第二个则是1,以此类推
列表由一系列特定顺序排列的元素组成,你可以创建包含字母表中所有字母,数字或所有家庭成员姓名的列表;也可>以将任何东西加入列表中,其中的元素之间可以没有任何关系

1、列表的增删改查

# _*_ coding:utf-8 _*_
"""
file: 列表_1.py
date: 2018-07-18 18:16
author: jiong
desc:


"""
# 修改列表元素
motorcysles = ['honda','suzuki','yamaha']
print motorcysles
motorcysles[0] = 'bmw'
print motorcysles

# append:添加列表元素(默认添加在最后)
print motorcysles
motorcysles.append('bmw')
print motorcysles

motorcysles = []   ##建立一个空列表
print motorcysles
motorcysles.append('honda')    ##添加元素
motorcysles.append('suzuki')
motorcysles.append('yamaha')
print motorcysles

# insert:增加列表元素,在指定位置插入指定元素
num = [1,2,3,4,5,6,7,8]
num.insert(3,'five')
print num

# extend:把另外一个列表的完整内容追加到当前列表的末尾
motorcysles = ['honda','suzuki','yamaha']
num = [1,2,3,4,5,6,7,8]
motorcysles.extend(num)
print motorcysles

# del:关键字,本质上是将一个变量从内存中删除(尽可能不要去用)
motorcysles = ['honda','suzuki','yamaha']
del motorcysles[1]
print motorcysles

# pop:将列表最后一个元素弹出(后进先出)
motorcysles = ['honda','suzuki','yamaha']
print motorcysles
pop = motorcysles.pop()
print pop

#remove:删除
motorcysles = ['honda','suzuki','yamaha']
motorcysles.remove('honda')
print motorcysles

这里写图片描述
这里写图片描述
这里写图片描述

2、获取列表的长度、出现次数和删除

# _*_ coding:utf-8 _*_
"""
file: 列表_2.py
date: 2018-07-18 18:21
author: jiong
desc:


"""
cars = ['bmw','audi','toyoto','subaru']
# len:获得列表的长度
print len(cars)

cars = ['bmw','audi','toyoto','subaru','bmw']
# len:获得列表的长度
# print len(cars)
# count:可以统计列表中某一个元素出现的次数
print cars.count('bmw')

cars = ['bmw','audi','toyoto','subaru','bmw']
print cars.count('bmw')
# remove:默认删除列表中出现的第一个元素,此元素在列表中不唯一
cars.remove('bmw')
print cars

这里写图片描述

3、列表的排序

# _*_ coding:utf-8 _*_
"""
file: 列表排序.py
date: 2018-07-18 18:25
author: jiong
desc:


"""
# sort:对列表中的元素进行排序(升序)
name = ['Anay','Eli','Cendy','Baby']
print name
name.sort()
print name

# sort(reverse=True):倒序
name.sort(reverse=True)
print name

# 临时对列表中的元素进行排序
print sorted(name)

# reverse():倒着打印列表元素
name.reverse()
print name

这里写图片描述

4、列表的for语句
for语句:一次打印元素

# _*_ coding:utf-8 _*_
"""
file: 列表_for.py
date: 2018-07-18 18:31
author: jiong
desc:


"""
names = ['anay','eli','cendy','baby']
for names_list in names:
    print '%s I can waiting for you ' % names_list

print 'Thank you!!'

这里写图片描述

5、数字组成列表:list(range(1,6))

# _*_ coding:utf-8 _*_
"""
file: 列表_for1.py
date: 2018-07-18 18:34
author: jiong
desc:


"""
for value in range(1,5):   ##左闭右开
    print value

# 数字组成列表:list(range(1,6))
nums = list(range(1,11))
print nums

# 列出元素中奇数的元素(前面两个为索引,2为步长)
nums = list(range(1,14,2))
print nums


# 列表:前十个整数的平方
# 建立一个空列表 squares = []
squares = []
for values in range(1,11):
    square = values ** 2
    squares.append(square)
print squares

这里写图片描述

二·元组

元组的定义 :Tuple(元组)与列表相似,不同之处在于元组的元素不能修改
元组表示多个元素组成的序列
元组在python开发中,有特定的应用场景 用于存储一串信息,数据之间使用,分隔
元组用()定义
列表中通常保存相同类型的数据,而元组中通常保存不同类型的数据

一个元素的元组:必须要加”,” 不然不识别,系统会认为是int(整型),加了”,”后,查看类型才是元组(tuple = (1,))

# _*_ coding:utf-8 _*_
"""
file: 元组-1.py
date: 2018-07-18 18:45
author: jiong
desc:


"""
info_tuple = ('王麻子',20,1.85,'张三')
# 取值和取索引
print info_tuple[0]
print info_tuple.index('张三')

# 统计计数(有几个20)
print info_tuple.count(20)

# 统计元组中包含元素的个数
print len(info_tuple)

# 逐个打印出元组的元素
info_tuple = ('王麻子',20,1.85,'张三')
for name_tuple in info_tuple:
    print name_tuple

这里写图片描述

元组和列表可以相互转换

[kiosk@foundation71 Desktop]$ ipython
In [1]: num_list = [1,2,3,4]

In [2]: type(num_list)
Out[2]: list

In [3]: num_list = tuple(num_list)

In [4]: num1_list = (1,2)

In [5]: type(num1_list)
Out[5]: tuple

In [6]: num1_list = list(num1_list)

In [7]: type(num1_list)
Out[7]: list

这里写图片描述

二·字典

字典的定义 dictionary(字典)是除列表以外python中最灵活的数据类型 字典同样可以用来存储多个数据
通常用于存储描述一个物体的相关信息 和列表的区别:
1、列表是有序的对象集和
2、字典是无序的对象集和
字典用{}定义 字典使用键值对存储数据,键值对之间使用”,”分隔
键key是索引
值value是数据
键和值之间使用;分隔
键必须是唯一的(因为我们必须通过键来找到数据)
值可以取任何数据类型,但键只能使用字符串,数字或元组
字典的定义: 字典是一个无序的数据集和,使用print函数输出字典时, 通常输出的顺序和定义的顺序是不一致的

1、字典的查找、增改、删除

# _*_ coding:utf-8 _*_
"""
file: 字典_1.py
date: 2018-07-18 19:00
author: jiong
desc:


"""
# 字典是一个无序的数据集合,使用print输出字典的时候,通常和定义的顺序不一样
message = {'name':'anay',   ##如果写为中文,会识别成字符串.
           'age':18,        ##name:键/索引
           'height':1.65,
           'weight':52.0}
print message

# 1.取值
print message['name'] 

# 2.增加/修改
message['age'] = 20
print message
message['sex'] = 'man'
print message

# 3.删除
message.pop('sex')
print message

这里写图片描述

2、练习
(1)

# _*_ coding:utf-8 _*_
"""
file: 字典_2.py
date: 2018-07-18 19:05
author: jiong
desc:


"""
message = {'name':'anay',   ##如果写为中文,会识别成字符串.
           'age':18,
           'height':1.65,
           'weight':52.0}
# 1.统计键值对的数量
print message

# 2.合并字典
# 字典的自定义键是可变的也是唯一的
temp_dict = {'height':1.70,'sex':'man'}   ##原有的会被更新,没有的会添加进去 ({'height':1.70,'age':20})
message.update(temp_dict)
print message

这里写图片描述

(2)

# _*_ coding:utf-8 _*_
"""
file: 字典_3.py
date: 2018-07-18 19:08
author: jiong
desc:


"""
message = {'name':'anay',
                'qq':'11111',
                'phone':'22222'}
for message_dict in message:
    print '%s --- %s' %(message_dict,message[message_dict])
    # 通过索引找到对应的值

这里写图片描述

三·字符串

1、简单字符串命令

# _*_ coding:utf-8 _*_
"""
file: str_1.py
date: 2018-07-18 19:17
author: jiong
desc:


"""
# 打印出每一个字符串
str = 'hello'
str1 = u'你叫'
# 如果是中文,需要在前面加"u",不然会出现乱码
for char in str1:
    print char
for char in str:
    print char

这里写图片描述

2、统计长度、出现位置以及次数

# _*_ coding:utf-8 _*_
"""
file: str_2.py
date: 2018-07-18 19:21
author: jiong
desc:


"""
str_hello = 'hello python'

# 1.统计字符串的长度
print len(str_hello)

# 2.统计某一个小字符串(子字符串)出现的次数
# 如果没有子字符串,就会出现0
print str_hello.count('l')

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

这里写图片描述

3、判断字符串的方法

# _*_ coding:utf-8 _*_
"""
file: str_3.py
date: 2018-07-18 19:25
author: jiong
desc:


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

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

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

# 4.判断字符串是否以指定的字符结束
print str.endswith('python')

# 5.替换字符串
print str.replace('python','world')
print str

# 6.判断字符串是否含有空格
null = '\t\n'    ##\t:制表符  \n:换行符
null1 = ' '
print null.isspace()
print null1.isspace()

这里写图片描述
这里写图片描述
这里写图片描述

四·切片

字符串/列表/元组[开始索引:结束索引:步长(有跳跃有间隔的对字符串切片)] 倒序索引:如果一个字符串/列表/元组很长,使用倒序索引很方便
最后一个索引的倒序索引是-1
1.指定的区间属于左闭右开型 从起始位置开始,到结束位置的前一位(不包含结束为本身)
2.从头开始,开始索引数字可以省略,冒号不能省略
3.到末尾结束,结束索引数字可以省略,冒号不能省略
4.步长默认为1

# _*_ coding:utf-8 _*_
"""
file: 切片_1.py
date: 2018-07-18 19:35
author: jiong
desc:


"""
num_str = '0123456789'
# []:左闭后开
print num_str[2:5]
print num_str[2:10]
# [2:]:打印出从2到最后的索引数字
print num_str[2:]
#[:]:打印出所有的索引数字
print num_str[:]
# [:4]:打印出索引数字4前面的索引数字
print num_str[:4]
# [0:10:2]:打印出0-10索引数字,并且步长为2的索引
print num_str[0:10:2]
# [9]:打印出最后一个索引
print num_str[9]
print num_str[-1]
# 字符串逆序
print num_str[-1::-1]

这里写图片描述

猜你喜欢

转载自blog.csdn.net/Le_Anny/article/details/81102942