pyhon基础(字符串)

本文介绍了Python的基础数据结构,包括字符串的拆分、查找、判断等操作;列表的长度计算、索引、添加、删除元素;元组的不可变性及转换为列表;集合的互异性、无序性及其操作;以及字典的键值对操作、更新、删除等。文章还提到了匿名函数lambda和全局变量的概念。
摘要由CSDN通过智能技术生成

带参数传参
有默认值的参数放到最后
*args不定长参数
可以不给参数,也可以给任意值(只要内存够大)

def joker(*args):
    sum_=0
    for i in args:
        sum_+= i
    print(sum_)
joker(1,2,3,4,5,6,7,8)

计算器

sum_=0
xx = 0
while xx != "stop":
    xx = input("请输入>>")
    if xx != 'stop':
        sum_ += float(xx)
        print(sum_)

**kwargs不定长参数(带参数)

def joker(*args,**kwargs):
    print(args)
    print(kwargs)
joker(1,2,3,name=4,b=5,c=6)
print(joker)

答案:
args(1, 2, 3)
kwargs{'name': 4, 'b': 5, 'c': 6}

if__name__==“mian
当你要在其他py文件中引用本文件中的函数或任何东西,如果你不想在其他文件中运行某些代码是可以使用

global 声明接下来用全局变量
全局变量不能再局部被修改但是加global后就可以修改

a = 1000
def A():
    global a
    a += 1000
    print(a)
A()
答案:2000
.

随机点名练习

import random
def A():
    a = ['a','b','c']
    index = random.randint(0,len(a)-1)
    print(a[index])
A()

匿名函数

lambda

(lambda x,y:print(x,y))(100,10)
冒号前的为输入,冒号后的为输出
key指定以什么方式进行排序

a = [['a',100],['c',5],['b',46]]
print(sorted(a,key=lambda x:x[1]))
答案:[['c', 5], ['b', 46], ['a', 100]]

**

字符串的使用’ ’

**
str1 = ‘hello, world!’
●字符串的拆分
res.str1.split(’,’)(以逗号拆分)
●通过len函数计算字符串的长度
print(len(str1)) # 13
● # 从字符串中查找子串所在位置(index与find类似但 是找不到时会引发异常
print(str1.find(‘or’)) # 8
print(str1.find(‘shit’)) # -1
●# 检查字符串是否以指定的字符串开头
print(str1.startswith(‘He’)) # False
print(str1.startswith(‘hel’)) # True
●# 检查字符串是否以指定的字符串结尾
print(str1.endswith(’!’)) # True
●# 将字符串以指定的宽度居中并在两侧填充指定的字符
print(str1.center(50, ‘*’))
● # 将字符串以指定的宽度靠右放置左侧填充指定的字符
print(str1.rjust(50, ’ '))
str2 = ‘abc123456’
●# 从字符串中取出指定位置的字符(下标运算)
print(str2[2]) # c
●# 检查字符串是否由数字构成
print(str2.isdigit()) # False
● # 检查字符串是否以字母构成
print(str2.isalpha()) # False
●# 检查字符串是否以数字和字母构成
print(str2.isalnum()) # True
●# 获得字符串修剪左右两侧空格的拷贝
str3 = ’ jackfrued@126.com ’
print(str3)
print(str3.strip())
print(str3.lstrip())
print(str3.rstrip())

删除空格练习

a = '  a b o   j h  '
b = ''
for i in a:
 if i != " ":
     b += i
print(b)
答案:abojh

列表的使用[ ]

列表可乘

def main():
    list1 = [1, 3, 5, 7, 100]
    print(list1)
list2 = ['hello'] * 5
print(list2)
答案:['hello', 'hello', 'hello', 'hello', 'hello']

●# 计算列表长度(元素个数)
print(len(list1))
● # 下标(索引)运算
print(list1[0])
●# 添加元素
list1.append(200)
●# 删除元素
list1.remove(3)
●# 清空列表元素
list1.clear()

列表加
a = [1,2,3]
b = [4,5]
print(a + b)
答案:[1, 2, 3, 4, 5]
列表追加
a = [1,2,3]
a[1] = 200
print(a)
答案:[1, 200, 3]
列表去重
b=[]
for i in a:
    if i not in b:
       b.append(i)
       print(b)
 答案[1, 2, 3, 6, 9]
以长度排序
list1 = ['orange','apple','zoo','rtughjgjhjh']
list2 = sorted(list1,key=len)
print(list2)
答案['zoo', 'apple', 'orange', 'rtughjgjhjh']

简写列表生成式
a = [x for x in range(10) if x % 2 == 0]
前边的x为输出

嵌套for循环
a = [[x,y] for x in range(2) for y in range(3)]
print(a)
答案[[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2]]

生成器generstor
a列表

b生成器
在这里插入图片描述
特点:需要一个生成一个,节约内存但是计算速度慢

元组的使用( )

不能修改元组中的内容
ef main():
# 定义元组
t = (‘骆昊’, 38, True, ‘四川成都’)
print(t)
● # 获取元组中的元素
print(t[0])#骆昊
print(t[3])#四川成都
● # 遍历元组中的值
for member in t:
print(member)
#骆昊 38 True 四川成都
●# 将元组转换成列表
person = list(t)
print(person)
●# 将列表转换成元组
fruits_list = [‘apple’, ‘banana’, ‘orange’]
fruits_tuple = tuple(fruits_list)
元组在创建时间和占用空间上都优于列表

集合的使用{ }

性质:互异 无序 确定

set1 = {1, 2, 3, 3, 3, 2}
print(set1)
print('Length =', len(set1))
答案{1, 2, 3}
Length = 3
set2 = set(range(1, 10))
print(set2)
答案{1, 2, 3, 4, 5, 6, 7, 8, 9}
set1 = {1, 2, 3, 3, 3, 2}
set1.add(4)
print(set1)
答案{1, 2, 3, 4}

●#将元组转换成集合
set3 = set((1, 2, 3, 3, 2, 1))
print(set3.pop())
print(set3)
●# 集合的交集、并集、差集、对称差运算
print(set1 & set2)
# print(set1.intersection(set2))
print(set1 | set2)
# print(set1.union(set2))
print(set1 - set2)
# print(set1.difference(set2))
print(set1 ^ set2)
# print(set1.symmetric_difference(set2))

字典的使用{key:value}

当键名重复时后者覆盖前者
def main():
scores = {‘骆昊’: 95, ‘白元芳’: 78, ‘狄仁杰’: 82}
●# 通过键可以获取字典中对应的值
print(scores[‘骆昊’])
print(scores[‘狄仁杰’])
● # 对字典进行遍历(遍历的其实是键再通过键取对应的值)
for elem in scores:
print(’%s\t—>\t%d’ % (elem, scores[elem]))
●# 更新字典中的元素
scores[‘白元芳’] = 65
scores[‘诸葛王朗’] = 71
scores.update(冷面=67, 方启鹤=85)
print(scores)
if ‘武则天’ in scores:
print(scores[‘武则天’])
print(scores.get(‘武则天’))
● # get方法也是通过键获取对应的值但是可以设置默认值
print(scores.get(‘武则天’, 60))
●# 删除字典中的元素
print(scores.popitem())
print(scores.popitem())
print(scores.pop(‘骆昊’, 100))
● # 清空字典
scores.clear()
print(scores)
●弹出一个元素
scores.pipitem()随机弹出
scores.pip(‘白元芳’)指定弹出
●字典可循环
for i in scores:(出来的是键名)
●取出键
scores.keys()
●取出键值
scores.values()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值