Python 列表(for语句)、元组、字典、字符串、切片

一、list列表

我们引入一个新的概念:数据机构
数据结构是通过某种方式组织在一起的数据元素的集合,这些数据元素可以是数字或字符,甚至可以是其他数据结构>,在python中,最基本的数据结构是序列,序列中的每个元素匾被分配一个序号–即元素的位置,也称为索引,第一>个索引是0,第二个则是1,以此类推.

列表是什么?
列表由一系列特定顺序排列的元素组成,你可以创建包含字母表中所有字母,
数字或所有家庭成员姓名的列表;也可>以将任何东西加入列表中,其中的元素之间可以没有任何关系

# 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

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

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 = []
for values in range(1,11):
    square = values ** 2
    squares.append(square)
print squares

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


二、元组

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

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

元组和列表可以相互转换

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

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

# 格式化字符串后面(),本质上就是一个元素
info_tuple = ('李四',20,1.90,)
print '%s 的年龄是:%d 身高为:%.2f' % info_tuple

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


三、字典

字典用{ }定义:
字典使用键值对存储数据,键值对之间使用,分隔
键key是索引
值value是数据
键和值之间使用;分隔
键必须是唯一的(因为我们必须通过键来找到数据)
值可以取任何数据类型,但键只能使用字符串,数字或元组

字典的定义:
字典是一个无序的数据集和,使用print函数输出字典时,
通常输出的顺序和定义的顺序是不一致的

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

这里写图片描述
这里写图片描述
1.字典的取值,增加,修改,删除

message = {'name':'alice',
           'age':18,
           'height':1.70,
           'weight':50.0}

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

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

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

这里写图片描述
2.字典中查找键值对数量与合并字典

message = {'name':'tom',
           'age':18,
           'height':1.85,
           'weight':75.5}

# 1.统计建值对的数量:
print len(message)

# 2.合并字典:
#字典的自定义建是可变的也是唯一的
#相同键更新,不同键合并
temp_dict = {'height':1.90,
             'sex':'man'}
message.update(temp_dict)
print message

这里写图片描述
3.字典的for循环

message_dict = {'name':'alice',
                'qq':'1234567',
                'phone':'765467'}
for k in message_dict:
    print '%s --> %s' % (k,message_dict[k])

这里写图片描述
4.for嵌套使用

card_list=[{'name':'lily','qq':'4578567','phone':'9876664'},
        {'name':'anna','qq':'345678','phone':'645674764'}]
for card_info in card_list:
    print card_info
    for k in card_info:
        print '%s --> %s' % (k, card_info[k])

这里写图片描述


四、字符串

字符串是 Python 中最常用的数据类型。我们可以使用引号(‘或”)来创建字符串。创建字符串很简单,只要为变量分配一个值即可。

1.字符串的查找与统计

hello_str = 'hello python llo'

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

# 2.统计某一个小的字符串(子字符串)出现的次数,没有的显示为0
print hello_str.count('llo')

# 3.某一个子字符串出现的位置(如果有重复的字符,现实第一个的位置)
print hello_str.index('llo')

# 使用index()查找的时候,字符串不存在会出现报错
print hello_str.index('ww')

这里写图片描述
2.判断字符串中的元素结构

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

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

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

# 4.查找指定字符串
# 如果查找的指定字符串不存在 程序不会报错 会返回-1
print hello_str.find('lp')

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

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

这里写图片描述


五、利用索引值进行切片:

格式:字符串/列表/元组【开始索引:结束索引:步长(有跳跃有间隔的对字符串切片)】

倒叙索引:如果一个字符串/列表/元组很长很长,使用倒序索引很方便

最后一个索引的倒叙索引是:-1

注意:
1.指定的区间属于左闭右开型,从起始位置开始,到结束位置的前一位(不包含结束位本身)
2.从头开始,开始索引数字可以省略,冒号不能省略
3.到末尾结束,结束索引数字可以省略,冒号不能省略
4.步长默认为1

# 建立一个字符串
num_str = '0123456789'

# 从索引为2处取到索引为5前
print num_str[2:5]

# 从索引为2处取到索引为6前
print num_str[2:6]

# 从索引为2处取到字符串末尾
print num_str[2:]

# 从开头处取到索引为9前
print num_str[:9]

# 取出全部字符串
print  num_str[:]

# 从开头取到索引为10前,步长为2
print num_str[0:8:2]

# 取出步长为2的全部字符串
print num_str[::2]

# 取倒数第一个字符
print num_str[-1]

# 从索引为2取到索引为-1前
print  num_str[2:-1]

# 让字符串整体倒序
print num_str[-1::-1]

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值