Python 入门 —— Python中的非数字型变量:列表,元组,字典,字符串。for循环

Python中的列表,元组,字典,字符串,for循环

1. 列表

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

1.1 列表的创建

进行简单的列表创建

 test_list = [1,2,3,4,'test']
 print test_list

执行如下:
这里写图片描述

1.2 列表信息的增删改查

1.2.1 index 查找列表中元素的下标

 test_list = [1,2,3,4,'test']
 print test_list
 print test_list.index('test')   # 查看列表中 test 元素的下标

执行如下:
这里写图片描述

1.2.2 修改元素列表信息:

 nba = ['Lakers','Heat','Sun','Rocket','Cave','Bulls'] 
 # 定义名为nba的列表及其列表内容。
 print nba
 # 在控制台显示列表内容
 nba[0] = 'cba'
 # 修改列表的第 0 个元素为'cba'
 print nba

执行如下:
这里写图片描述
显示结果如下:

1.2.3 添加列表元素

  • append : 在列表末尾添加
    示例:
list_test = []   # 定义一个空列表
print list_test  # 在控制台显示列表
list_test.append('hello')  # 在列表最后添加字符串
print list_test  # 在控制台显示列表
list_test.append('bye')    # 在列表最后添加字符串
list_test.append('see you later')  # 在列表最后添加字符串
print list_test  # 在控制台显示列表内容

执行如下:
这里写图片描述

  • insert :在指定位置插入指定元素
    示例:
 nba = ['Lakers', 'Heat', 'Sun', 'Rocket', 'Cave', 'Bulls']
 # 定义名为 nba 的列表及其列表内容。
 print nba
 nba.insert(2,'Bucks')
 # 为列表 nba 中的索引号为 2 的位置添加元素'Bucks'
 print nba

执行如下:
这里写图片描述

  • extend :把另外一个列表的完整内容追加到当前列表的末尾
 nba = ['Lakers', 'Heat', 'Sun', 'Rocket', 'Cave', 'Bulls']
 # 定义名为nba的列表及其列表内容。
 print nba
 nba2 = ['Lakers','Celtics','Nets','Pakers']
 print nba2
 nba.extend(nba2)
 print nba

执行如下:
这里写图片描述

1.2.4 删除列表元素

  • del :关键字,本质上是,将一个变量从内存中删除,结果不可逆
  • pop() :默认将列表最后一个元素弹出
  • remove 指定移除的值,默认删除列表中出现的第一个指定元素(此元素在列表中不唯一)
    若不了解指定关键字如何使用,可将鼠标放置与关键字上,点击cttl + q 可查看关键字的用法

del 进行删除
直接删除列表,结果不可逆
这里写图片描述
pop 进行移除

 nba = ['Lakers', 'Heat', 'Sun', 'Rocket', 'Cave', 'Bulls']
 # 定义名为nba的列表及其列表内容。
 print nba  
 nba.pop()    # 默认弹出列表中最后一个元素
 print nba
 nba.pop(0)   # 指定弹出列表中索引为 0 的元素
 print nba

执行如下:
这里写图片描述

1.2.5 列表的统计

  • len 进行列表长度的度量
 nba = ['Lakers', 'Heat', 'Sun', 'Rocket', 'Cave', 'Bulls']
 # 定义名为nba的列表及其列表内容。
 print nba
 print len(nba)    # 进行列表长度计算

执行如下:
这里写图片描述

  • count :可以统计列表中某一个元素出现的次数
 nba = ['Lakers', 'Heat', 'Sun', 'Rocket', 'Cave', 'Bulls','Lakers']
 # 定义名为nba的列表及其列表内容。
 print nba
 print nba.count('Lakers')    # 进行指定元素出现次数的测量

执行如下:
这里写图片描述

  • sort 对列表进行永久排序 ,默认以ascill 码的顺序进行升序排序
    示例:
 commend = ['ls','echo','rm','cat','fdisk','grep','sed','ps','top','at','blkid','date']
 print commend
 commend.sort()     ## 对 commmend 列表进行顺序排序
 print commend      ## 在控制台显示列表
 # .sort(reverse=True)    进行倒序排序

执行如下:
这里写图片描述
示例:

 commend = ['ls','echo','rm','cat','fdisk','grep','sed','ps','top','at','blkid','date']
 print commend
 commend.sort(reverse=True)     ## 对 commmend 列表进行逆序排序
 print commend  

执行如下:
这里写图片描述

  • sorted(列表) 临时对列表进行排序
    示例:
 commend = ['ls', 'echo', 'rm', 'cat', 'fdisk', 'grep', 'sed', 'ps', 'top', 'at', 'blkid', 'date']
 print commend
 print sorted(commend)    # 临时进行排序
 print commend

执行如下:
这里写图片描述

  • .reverse() 将原列表内容反过来
    示例:
 commend = ['ls','echo','rm','cat','fdisk','grep','sed','ps','top','at','blkid','date']
 print commend
 commend.reverse()   ##将原列表内容反过来 
 print commend

执行如下:
这里写图片描述

2 for 语句

取出列表中的元素,再对其进行操作

for 的简单示例:

 study = ['math','Chinese','sport']    ## 定义列表
 for test in study:                    ## 取出 study 的内容,放在test 中
     print 'Today we study %s' % test  ## 一个一个的显示
 print 'Fucking study!!!'

执行如下:
这里写图片描述

range 生成纯数字列表

 range(1,6)
 生成一个元素内容为1-5的列表
 若是单纯的生成数字列表,可运用 range 进行生成
 例如: 生成一个步长为2,元素为2-10的纯数字列表
 num = range (2,11,2)

执行如下:
这里写图片描述
将 range 与 for 语句进行连用
示例如下:

 进行 1-10 的幂的显示
 squares = []
 for list_mi in range(1,11):
     square = list_mi ** 2
     squares.append(square)

 print squares

这里写图片描述

3 元组 tuple

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

3.1 定义只包含一个数据的元组

示例:

 single_tuples=(1,)
 print type(single_tuples) 

执行如下:
这里写图片描述

3.2 元组的取值,取索引,统计计数以及统计与元素个数

 Kobe_tuple = ('Kobe Bryant',40,1.98,5,2)  ## 定义元组
 print Kobe_tuple.count('Kobe Bryant')     ## 统计元组中 Kobe Bryant 出现的次数
 print Kobe_tuple.index(5)                 ## 显示元组中元素 5 的索引
 print Kobe_tuple[0]                       ## 显示元组中索引为 0 的元素
 print len(Kobe_tuple)                     ## 显示元组中元素的个数

执行如下:
这里写图片描述

若是想要对元组内容进行修改,则可以修改元组类型为列表,然后对其进行修改修改完成后,再将其类型修改为元组。
示例如下:

 Kobe_tuple = ('Kobe Bryant',40,1.98,5,2)   ## 定义元组
 print type(Kobe_tuple)     
 print Kobe_tuple
 Kobe_tuple = list(Kobe_tuple)   ## 将元组类新修改为列表
 print type(Kobe_tuple)   
 print Kobe_tuple

 然后再对其进行修改,修改完成后在将其转化为元组

执行如下
这里写图片描述

可通如下方式对元组内容进行调用:

 Kobe_tuple = ('Kobe Bryant',40,1.98,5,2)print '%s is %d years old,he is 
 %d tall and won %d times NBA champions and got %d times Final MVP' 
 % Kobe_tuple
 print '%s is %d years old,he is %.2f tall and won %d times NBA champions 
 and got %d times Final MVP' % Kobe_tuple

执行如下:
这里写图片描述

4 字典

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

示例:定义简单的字典:

 information = {'name':'Kobe Bryant',
                'height':'1.98',
                'age':40,
                'obj':'NBA'}
 print information

执行如下:
这里写图片描述

4.1 取值:

 information = {'name':'Kobe Bryant',
                'height':'1.98',
                'age':40,
                'obj':'NBA'}
 print information['obj'] ## 显示键名为'obj'的值

执行如下:
这里写图片描述

4.2 增加/修改

 information = {'name':'Kobe Bryant',
                'height':'1.98',
                'age':40,
                'obj':'NBA'}
 print information
 information['age'] = 41     ## 修改键 'age' 的值为 41
 print information
 information['sex'] = 'male' ## 添加键 'sex' 且值为 'male'
 print information

执行如下:
这里写图片描述

4.3 删除

.pop(‘自定义索引’)

 information = {'name':'Kobe Bryant',
                'height':'1.98',
                'age':40,
                'obj':'NBA'}
 print information
 information.pop('age')   ## 删除 'age' 键及其值
 print information

执行如下:
这里写图片描述

4.4 统计

4.4.1 统计键值对的数量

print len(字典名称)

 information = {'name':'Kobe Bryant',
                'height':'1.98',
                'age':40,
                'obj':'NBA'}
 print len(information)  ## 显示指定字典的键值对的个数

执行如下:
这里写图片描述

4.4.2合并字典

字典1.upadte(字典2)
print 字典1
如果字典2中的键值对在字典1中存在,则会按照字典2的内容进行更行
若字典2中的键值对在字典2中不存在则会为字典1添加对应的键值对

 information = {'name':'Kobe Bryant',  ## 定义字典1
                'height':'1.98',
                'age':41,
                'obj':'NBA'}
 print information

 test = {'age':40,                     ## 定义字典2
         'Champions':5,
         'Final MVP':2,
         'MVP':1}
 print test

 information.update(test)              ## 将字典1,2进行合并
 print information

执行如下:
这里写图片描述

4.4.3 清空字典

操作: 字典.clear
示例:

 information = {'name':'Kobe Bryant',
                'height':'1.98',
                'age':41,
                'obj':'NBA'}
 print information
 information.clear()        ## 清空字典
 print information

执行如下:
这里写图片描述

4.4.4 字典循环

 name_dict = {'Name':'Tom',
              'Phone':110,
              'QQ':123456}
 for k in name_dict:
     print k,name_dict[k]

执行如下:
这里写图片描述
在列表中定义多个字典,再进行循环

 list_dict = [{'name':'Tom','age':18,'obj':'linux'}, 
              {'name':'Jarry','age':28,'obg':'java'}]
                         ## 创建列表,列表的元素为>    字典

 for dict in list_dict:  ## 对列表进行循环显示,然后对显示出的字典再进行循环显示
     print dict
     for mes in dict:
         print mes,dict[mes]

执行如下:
这里写图片描述

5 字符串

5.1 统计字符串的长度

print len(字符串)

 str1 = "hello world"
 print len(str1)     # 统计字符串的长度

执行如下
这里写图片描述

5.2 统计某一小字符串出现的次数

 str1 = "hello world"
 print str1.count('w') 

执行如下:
这里写图片描述

5.3 某一个子字符串出现的位置

使用index(),进行子字符串查找时,如果字符串不存在,程序会报错

 str1 = "hello world"
 print str1.index('o')

执行如下:
这里写图片描述

5.4 字符串判断

5.4.1 判断字符串是否只包含数字

  • S.isdigit() -> bool
    如果S中的所有字符都是数字,且S中至少有一个字符,则返回True,否则为False

示例:

 str1 = 'Hello world'
 print str1          
 print str1.isdigit()   ## 返回值为false 

执行如下:
这里写图片描述

5.4.2 判断是否以指定的字符串开始

.startwith(”)
示例:

 str1 = 'Hello world'
 print str1
 print str1.startswith('H')  ## 判断指定字符串是否以 ‘H’ 开头

执行如下:
这里写图片描述

5.4.3 判断字符串是否以指定字符串结束

.endwith(”)
示例:

 str1 = 'Hello world'
 print str1
 print str1.endswith('world') ## 判断字符串是否以 ‘world’ 结尾

执行如下:
这里写图片描述

5.4.4 查找指定的字符串,返回的是字符串的索引

如果查找的字符串不存在,程序不会报错,会返回-1
.find(”)
示例:

 str1 = 'Hello world'
 print str1
 print str1.find('r')    ## 查找‘r’ 字符串中 r 所在的索引

执行如下:
这里写图片描述
控制台返回值为: 8

5.4.5 替换字符串

.replace
示例:

 str1 = 'Hello world'
 print str1
 print str1.replace('world', 'linux')
                         ## 将字符串中的‘world’,替换为‘linux’

执行如下:
这里写图片描述

5.4.6 判断字符串是否为空(如空格换行符号,制表符等)

S.isspace() -> bool

如果S中的所有字符都是空格,且S中至少有一个字符,则返回True,否则为False。
示例:

 str1 = 'Hello world'
 print str1
 print str1.isspace()
 返回值为 false ,字符串中有空格
 str2 = '\t'
 print str2.isspace()
 返回值为 true 字符串为空

执行如下:
这里写图片描述

6 切片

对字符串而言

6.1.切取指定索引的字符

 str1 = 'start today' 
 print str1[1:9]       # 从索引为 1 切到索引为 8

执行如下:
这里写图片描述

6.2 切取指定索引到字符串末尾的字符

 str1 = 'start today'
 print str1[2:]         # 从索引为 1 切到索最后

执行如下:
这里写图片描述

6.3 切取开头到指定索引的字符

 str1 = 'start today'
 print str1[:7]         # 从字符串开头切到索引为 7

执行如下:
这里写图片描述

6.4 切取整个完整字符串

 str1 = 'start today'
 print str1[:]        # 从头到尾截取字符串

执行如下:
这里写图片描述

6.5 切取指定位置,指定补偿的字符内容

 str1 = 'start today'
 print str1[1:5:2]      # 截取索引 1 - 5 ,步长为 2

执行如下:
这里写图片描述

6.6 逆序切取字符串中的字符

 str1 = 'start today'
 print str1[-1]       # 逆序切取索引为 -1 

执行如下:
这里写图片描述

 str1 = 'start today'
 print str1[2:-1]     # 切取索引 2 - -1

执行如下:
这里写图片描述

6.7 逆序显示字符串中的字符

 str1 = 'start today'
 print str1[::-1]      # 逆序切取字符串

执行如下:
这里写图片描述

6.8 切片在列表中同样适用

 test_list = range(0,11)  ## 定义一个数字列表
 print test_list
 print test_list[1:10]    ## 显示索引 1-10
 print test_list[:]       ## 显示整个列表
 print test_list[:8]      ## 显示开头到索引 8
 print test_list[::-1]    ## 倒序列表
 print test_list[:-2:3]   ## 以步长为 3 显示开头到索引为 -2 的列表内容

执行如下:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/Buster_ZR/article/details/81106226