python数据结构——字符串、列表、元组、字典

python数据结构

字符串

pyhton中的字符串的索引序号可以是正数也可以是负数,复数从-1开始算,正数从0开始

没有步长切片:
  • 语法s[ start : stop ]
  • 如果从开头截取到某个特定的位置可以用 [ : a]来表示
  • 如果从某一位开始截取到最后一位可以用[ a : ]来表示

步长切片:
  • 语法:s[ start : stop :stride]

  • 步长的那个地方设置为负数,表示从右向左取字符串,步长的绝对值大于1表示间隔的取数。

  • 开始的部分那个截取下标也要从负数计算,或者start必须大于结束的下标,因为它是从右开始的截取的。

# 没有步长的简单切片
def str_demo1():
    s = "0123456"
    print(s[-1])
    print(s[0])
    print(s[:2])
    print(s[1:])


# 步长的简单切片
def str_demo2():
    s = "0123456"
    print(s[1:6:2])
    print(s[::2])
    print(s[-1:3:-2])
    print(s[6:1:-2])


if __name__ == '__main__':
    str_demo1()
    str_demo2()

列表

  • 可修改
  • d=[value1,value2]
  • 作为一个方括号内的逗号分隔值出现,创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可
  • 列表的数据项不需要具有相同的类型
def list_demo1():
    s = [1, 2.5, "hello", ["a", "b"], {}]
    print(s)
    print(type(s[0]))
    print(type(s[1]))
    print(type(s[2]))
    print(type(s[3]))
    print(type(s[4]))


# 步长的简单切片
def list_demo2():
    s = [1, 1, 2.5, 3, 4, 5]
    print(len(s))
    print(max(s))
    print(min(s))
    print(s.count(1))
    s.reverse()
    print(s)
    print(s.index(1))
    s.extend([6, 9, 2, 2])
    print(s)
    s.remove(9)
    print(s)
    s.pop(2)
    print(s)


# 组合、重复、
def list_demo3():
    s1 = ['a', 'b', 'c']
    s2 = ['d', 'e', 'f']
    print(s1 + s2)
    print(s1 * 4)
    print('a' in s1)
    for x in s1:
        print(x)
    s1[0] = 'f'
    print(s1)
    s3 = s1.copy()
    print(s3)
    s3.clear()
    print(s3)


if __name__ == '__main__':
    list_demo3()

元组

  • 不可修改
  • d=(value1,value2)
  • Python的元组与列表类似,不同之处在于元组的元素不能修改。
  • 元组使用小括号,列表使用方括号。
  • 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
 def tuple_demo1():
    s = (1,2,5,2,3,1)
    print(s)
    print(type(s[-1]))

    print(s)


if __name__ == '__main__':
    tuple_demo1()

字典

  • 字典是另一种可变容器模型,且可存储任意类型对象。
  • d = {key1 : value1, key2 : value2 }
  • 键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。
  • 值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
def map_demo1():
    map = {'a': 1, '2': ["aaa", "ppp"], ("ssss",): 2}
    print(map[("ssss",)])
    print(map.values())
    print(map.keys())
    s=map.fromkeys((1,2,3),[4,5,6])
    print(s)


if __name__ == '__main__':
    map_demo1()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值