11.再走Python路:字符串,列表,字典

1 字符串

  • 字符串类型的转换:
    1.整型 = int(“100”) —>将字符串‘100’转化为一个整型的100
    2.字符串 = str(100) ----->将整型的100转化为一个字符串’100’
  • 字符串的输入和输出:
    1.输入 input函数
    2.输出 print函数
  • 组成字符串的两种方式:
    1.“+”号:‘lao’ + ‘wang’ = ‘laowang’
    2."%"号:‘lao%s’%‘wang’ = ‘laowang’
  • 字符串中的下标:在python中字符串是支持下标索引的:
    1.第一个从0开始
    2.‘name’[2] = ‘m’
  • 字符串的切片:从字符串中截取一部分
    1.‘name’[1:2] = ‘am’
    2.字符串[起始位置:终止位置;间隔]
    3.逆序:字符串[-1:0:-1]
  • 字符串的常见操作:
    1.find:‘字符串A’.find(“字符串B”)—>返回第一次出现的位置,找不到返回-1
    2.index:和find一样,但是找不到会产生异常
    3.count:用法一样,返回出现的个数
    4.replace:用法:‘字符串A’.repalce(‘字符串B’,‘字符串C’,替换次数)
    5.capitalize():把字符串第一个名字大写
    6.startswith():判断是否以什么开头,endswith就是判断结尾了。
    7.lower: 将字符串中的所有大写字母小写,upper是大写。

2 列表

  • 列表的增删改查:
    1.增加:列表名.append(添加的内容);列表名.insert(位置,要添加的内容)
    2.合并:列表名= 列表1 + 列表2;列表1.extend(列表2)
    3.删除:列表名.remove(删除的内容);列表名.pop()删除最后一个;del 列表名[下标]
    4.下标:列表里面也支持下标和切片,详情请见字符串
    5.修改:列表名[下标] = 修改的值;
    6.查询:内容 in/not in 列表名;
  • 一个简单的名字管理系统案例用于练习:
'''
2020.2.14
@BUG369456
名字管理系统
'''

# 定义一个存储名字的列表
names = []
while True:

    # 打印功能提示
    print('=' * 20)
    print('名字管理系统')
    print('=' * 20)
    print('1.添加一个新名字')
    print('2.删除一个名字')
    print('3.修改一个名字')
    print('4.查询一个名字')
    print('5.结束程序')
    print('=' * 20)

    # 获取用户的选择
    num = int(input('请输出功能前面的序号:'))
    # 根据用户的选择 执行相应的功能
    if num == 1:
        # 添加名字
        new_name = input('请输出要添加的名字:')
        names.append(new_name)
        print('当前名字列表为:'+ str(names))

    elif num == 2:
        # 删除名字
        print('请选择删除方式:')
        print('1.按序号删除 2.按内容删除')
        num2 = int(input('请输入功能前的序号:'))
        if num2 == 1:
            # 按序号删除
            m = int(input('你要删除第几个名字:'))
            m = m - 1
            if m < len(names):
                # 进行删除
                del names[m - 1]
            else:
                print('超出元组中元素个数,无法进行')
        elif num2 == 2:
            # 按内容删除
            remove_name = input('请输入需要删除的名字:')
            if remove_name in names:
                names.remove(remove_name)
            else:
                print('输入名字错误')
        else:
                print('输入序号错误')
        print('当前名字列表为:'+ str(names))
    elif num == 3:
        m = int(input('你要修改第几个名字:'))
        m = m - 1
        if m < len(names):
            new1_name = input('你要把它修改成:')
            names[m] = new1_name
        else:
            print('超出元组中元素个数,无法进行')
        print('当前名字列表为:'+ str(names))
    elif num == 4:
        the_name = input('请输入你要查询的名字:')
        if the_name in names:
            print('有这个名字')
        else:
            print('没有这个名字')
        print('当前名字列表为:'+ str(names))
    elif num == 5:
        print('当前名字列表为:'+ str(names))
        break  # 退出程序

    else:
        print('你的输入有误,请重新输入!')

3 字典

  • 字典的一半格式:
infor = {1:1.2:2.3:3}
#调用的时候 infor["键1"] 就代表着 "值1"数据
  • 字典的增删改查:
    1.增加:infor[“新键”] = 对应的值
    2.修改:infor[“旧键”] = 对应的值
    3.改变:del infor[“旧键”]
    4.查询:infor.get(“查询的键”)

4 遍历列表

  • 遍历列表有两种方法
    1.通过while遍历
nums = [11,22,33,44,55]
i = 0
while i <len(nums):
	print(nums[i])
	i = i+1

2.通过for循环遍历

nums = [11,22,33,44,55]
for i in nums:
	print(i)

5 for…else…

nums = [1,2,3]
for i in nums:
	print(i)
else:
	print("===========")
# 当遍历完的时候 再执行else
  • 名片管理系统
'''
2020.2.18
@luzhen
名片管理系统 for...else...的使用
'''

card_infors = [{"name":"wang","age":18},{"name":"li","age":16}]
find_name = input("请输入你要查找的名字:")
for i in card_infors:
    if i['name'] == find_name:
        print("找到了!!!!!!!")
        break
else:
    print("没有找到")

6 列表的append extend

  • 列表1.extend(列表2) :将列表2中的内容增添到列表1尾部
  • 列表1.append(列表2):将列表2当成一个整体添加到列表1的尾部

7 字典的遍历

  • len(字典名):返回字典中键值的个数
  • 字典.keys():以列表的方式返回字典中所有的键
  • 字典.valus()::以列表的方式返回字典中所有的值
  • 字典.items():以列表的方式返回字典中的键值对,每一个键值对的输出形式为元组
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值