资讯专栏INFORMATION COLUMN

Python基础-列表、元组、字典、字符串

zhangrxiang / 1151人阅读

摘要:多维数组一维数组二维数组一二三四五三维数组一二三四维数组二五五中可以放不同类型的值,的下标从开始。

多维数组
nums1 = [1,2,3] #一维数组
nums2 = [1,2,3,[4,56]] #二维数组
nums3 = [1,2,3,4,["a","b","c","d","e",["一","二","三"]],["四","五"]] #三维数组
nums4 = [1,2,3,4,["a","b","c","d","e",["一","二","三",[1,2,3]]]] #四维数组
print(nums2[3][1]) #56
print(nums2[-1][-1]) #56
print(nums3[4][5][1]) #"二"
print(nums3[5][1]) #"五"
print(nums3[-1][-1]) #"五"
list

list中可以放不同类型的值,list的下标从0开始。

#定义一个list
stu_name = ["张三", "李四", "王五", 1, 1.5]
print(stu_name) #打印list中全部内容
print(stu_name[0]) #打印"张三"
len()

length = len(stu_name) #list的长度,list中元素的个数 

list增加元素

append()
insert()

stu_name.append("朱六") #在list末尾添加一个元素
stu_name.insert(0, "小军") #在指定位置插入一个元素
print(stu_name)

list修改元素

stu_name[6] = "铲铲"
print(stu_name)

list删除元素

pop()
remove()
del
reverse()

stu_name.pop() #删除最后一个元素
stu_name.pop(4) #删除指定下标的元素
stu_name.remove("小军") #删除指定的元素,有多个相同的元素,会删除第一个
del stu_name[-1] #删除指定位置的元素,正数从正序开始,负数从倒序开始
print(stu_name)

list查找元素

count()
index()
reverse()
clear()

my_list = ["小黑", "小白", 1, 1, 2, 1.5]
print(my_list[-1])
print(my_list[0])
print(my_list.count(1)) #查询某个元素在list里面出现的次数
print(my_list.index(1)) #查找元素的下标,多个相同元素取第一个,不存在的无素会报错
print(my_list.reverse()) #直接打印结果为None
print(my_list) #输出时list被反转

my_list.clear() #list被清空
print(my_list)
sort()
sort(reverse=True)

nums = [9.23, 9, 3, 6, 1, 0]
nums.sort() #从小到大排序
nums.sort(reverse=True) #从大到小排序
nums.extend(my_list) #把一个list里面的元素加入
print(nums)

new_list = nums + my_list + stu_name #合并
print(new_list)
print(new_list * 3) #复制几次

list练习

users = ["wrp","nhy","haha"]
#校验用户名是否存在

for i in range(5):
    username = input("请输入用户名:")
    # 如果用户不存在的话,说明可以注册
    #if users.count(username) > 0:
    if username not in users: #in就是判断在不在里面
        print("用户未注册,可以注册")
        users.append(username)
    else:
        print("用户已经被注册")
        
#最原始的list取值方式,通过每次计算下标来获取元素
passwords = ["123456","123123","7891234","password"]
count = 0
while count < len(passwords):
    s = passwords[count]
    print(s)
    count+=1
passwords = ["123456","123123","7891234","password"]
#for循环直接循环一个list,每次循环取它的值得
for p in passwords:
    print(p)
#修改passwords中的内容
passwords = ["123456","123123","7891234","password"]
index = 0
for p in passwords:
    passwords[index] = "abc"+p
    index+=1
print(passwords)
#使用枚举函数,会计算下标和元素
passwords = ["123456","123123","7891234","password"]
for index,p in enumerate(passwords):
    passwords[index] = "abc" + p
    print(index, p)
print(passwords)

切片
切片同样适合于字符串

l = ["a","b","c","d","e","f","g","h","i"]
print(l[0:3]) #顾头顾尾巴
print(l[:5]) #如果冒号前没写,代表从0开始取
print(l[4:]) #如果冒号后没有写,代表到结束
print(l[:]) #冒号前后都不写,取全部
print(l[0:8:2]) #从0开始,算上每隔2取一个


nums = list(range(1,101)) #range()生成一个list
print(nums[1::2]) #取100以内的偶数
print(nums[::2]) #取100以内的奇数
print(nums[::-2]) #步长为正数,从左到右取,步长为负数,从右到左取

字符串切片

#字符串切片
words = "中秋节要上课"
print(words[::-1])
for index,w in enumerate(words):
    print(index, w)

回文算法

#回文算法,反过来倒过去都一样,如"上海自来水来自海上",12321
for i in range(10):
    str = input("请输入一个字符串:")
    
    if len(str) < 1:
            print("字符串长度必须大于是")
    elif str == str[::-1]:
        print("是回文")
    else:
        print("不是回文")
元组

元组不能被修改,如果元组只有一个元素,需要在定义后添加逗号,不然会认为括号是运算符
创建元组

tup1 = ()
tup2 = (1,2,3,4,5,6)
tup3 = ("google","baidu",1000,2000)
tup4 = (50,)#元组中只有一个元素时,在后面添加逗号

访问元组

tup = ("google","baidu",1000,2000)
print(tup[1])

修改元组

tup = ("google","baidu",1000,2000)
tup1 = ("abc","xyz")
tup3 = tup + tup1
print(tup3)

删除元组

tup = ("google","baidu",1000,2000)
del tup

元组运算

#元组运算
print(len((1,2,3)))
print((1,2,3)+(4,5,6))
print(3 in(1,2,3))

for x in(1,2,3):
    print(x)

tup =(1,2,3,4,5)
len(tup) #求元组长度
max(tup) #求元组中最大值
min(tup) #求元组中最小值

seq = [1,2,3,4,5]
tup = tuple(seq) #将列表换为元组
字典
xiaojun ={
    "name":"xioajun",
    "age": 21,
    "sex":"男",
    "addr":"北京",
    "phone":"13266568006"
}

增加

stus = {}
stus["name"] = "小军"
stus["name"] = "海龙"
stus.setdefault("name", "小帆") #如果这个key已存在,setdefault不会修改这个key的值
stus.setdefault("age",  18)
stus.setdefault("sex", "男")
stus.setdefault("addr", "北京")
stus.setdefault("phone", "1961231231")
stus.update({"money":1000}) #将一个字典增加到stus中

修改

stus["name"] = "小鹏"

查询

print(stus["addr"])
print(stus.get("sex","男")) #如果查不到,get()中第二个参数就返回默认值
print(stus.keys()) #所有的key
print(stus.values()) #所有的value

for k in stus:
    print(k, "===>",stus.get(k))

for k,v in stus.items():
    print(k, "====>", v)

删除

del stus["phone"]
stus.pop("addr")
stus.popitem() #随机删除
del stus #删除整个字典

字典多层嵌套取值

all_stus = {
    "xiaojun":{
        "name": "xiaojun",
        "age": 21,
        "sex": "男",
        "addr": "北京",
        "phone": "13266568006",
        "id": 1,
        "cars":["牧马人","911","野马","劳斯莱斯"],
    },
    "hailong":{
        "name": "hailong",
        "age": 21,
        "sex": "男",
        "addr": "北京",
        "phone": "13266569006",
        "id": 2,
        "bags":{
            "qianbao":["lv", "ysl"],
            "beibao":["coach","abc"]
        }
    }
}

all_stus["xiaojun"]["cars"].append("五菱宏光") #给xiaojun的car中添加值
print(len(all_stus["xiaojun"]["cars"])) #统计xiaojun中car的数量
all_stus["hailong"]["sex"] = "女"  #将hailong的sex改为女
all_stus["hailong"]["bags"]["qianbao"].remove("lv") #删除bags中qianbao中的lv
all_stus["hailong"]["bags"]["kuabao"]=["bac"] #增加一个kuabao
all_stus["hailong"]["bags"]["kuabao"].append("lv2") #在kuabao中增加lv2
all_stus["hailong"]["bags"].pop("kuabao") #删除kuabao
字符串常用方法

字串符一经定义,不会被改变,对其操作会重新生成一个被处理后的新字符串。

password = " 123456 
 456789 "
print(password.strip())  #默认去掉字符串两边的空格和换行符
print(password.rstrip()) #右边的空格
print(password.lstrip()) #左边的空格

password1 = "jpg 1233456789 .jpg"
print(password1.strip(".jpg")) #掉去字符串两边的.jpg

print(password1.upper()) #转成大写
print(password1.lower()) #转成小写
print(password1.capitalize()) #把首字母改成大写
print(password1.count("jpg")) #字符串出现的次数
print(password.replace("谭爱玲","上山打老虎")) #找到了就替换字符串,找不到也不报错

filename = "a.mp3"
print(filename.endswith(".mp3")) #判断是否以xxx结尾
print(filename.startswith("196")) #判断以xxx开头
#"{name},{age}".format(name="hhh",age=18)

names = "小军,海龙,杨帆,大朋"
names1 = "小军 海龙 杨帆     大朋"
print(names.split(",")) #以分隔符将字符串分割成list
print(names1.split()) #不指定时默认以空格切割
users = ["username","user2","user3"]
#username,user2,user3
print(str(users))
res = ",".join(users) #连接可以循环的元素,和split()相反,把list变成了字符串
print(res) #结果为username,user2,user3
print(s.find("z")) #找不到时返回-1
#print(s.index("z")) #找不到时报错
print(s.count("z")) #找元素个数
print("0".isdigit()) #判断是否是正整数
print(s.islower()) #是否小写
print(s.isupper()) #是否大写
print("abc123".isalnum()) #字符串中是否有英文或数字
print("abc".isalpha()) #只能是字母
print(s.isspace()) #是否空格
print("1a123".isidentifier()) #是否为合法的变量名
print(s.splitlines()) #以换行符分割分字符串
new_l = []
for i in l:
    si = str(i)
    new_l.append(si.zfill(5)) #zfill()用于位数补0,会补足括号中位数
print(new_l)
import string
print(string.ascii_lowercase) #大写
print(string.ascii_uppercase) #小写
print(string.digits) #数字
print(string.punctuation) #特殊符号
print(string.ascii_letters) #大小写

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/43621.html

相关文章

  • Python基础到入门】Python基础语法篇——基本数据类型【文末送书】

    摘要:布尔值布尔值和布尔代数的表示完全一致,一个布尔值只有两种值的数据类型可以通过内置的函数查询,例如还可以用来判断和的区别在于不会认为子类是一种父类类型。会认为子类是一种父类类型。基本功能是进行成员关系测试和删除重复元素。 ...

    Winer 评论0 收藏0
  • Python3基础数据类型

    摘要:列表列表是中使用最频繁的数据类型。列表可以完成大多数集合类的数据结构实现。注意构造包含或个元素的元组的特殊语法规则。基本功能是进行成员关系测试和删除重复元素。以下几个内置的函数可以执行数据类型之间的转换。 一、说明 Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在 Python 中,变量就是变量,它没有类型,我们所说的类型是变量所指的内存中...

    Rindia 评论0 收藏0
  • Python0基础(上)——期末不挂科

    摘要:易于维护的成功在于它的源代码是相当容易维护的。可移植基于其开放源代码的特性,已经被移植也就是使其工作到许多平台。集合集合是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。基本功能是进行成员关系测试和删除重复元素。 ...

    Ajian 评论0 收藏0
  • 简析前端学习python3的基础

    摘要:元组是静态数组,它们不可变,且其内部数据一旦创建便无法改变。元组缓存于运行时环境,这意味着我们每次使用元组时无须访问内核去分配内存。 以下是整理的JavaScript和python的基础区别的整理: 字符串、列表、元组、字典、集合、函数 字符串 声明一个字符串 python str = 123 str = 123 Tips: 如果是三个引号的话,那么在py中就是注释的意思 ...

    summerpxy 评论0 收藏0
  • 简析前端学习python3的基础

    摘要:元组是静态数组,它们不可变,且其内部数据一旦创建便无法改变。元组缓存于运行时环境,这意味着我们每次使用元组时无须访问内核去分配内存。 以下是整理的JavaScript和python的基础区别的整理: 字符串、列表、元组、字典、集合、函数 字符串 声明一个字符串 python str = 123 str = 123 Tips: 如果是三个引号的话,那么在py中就是注释的意思 ...

    LiveVideoStack 评论0 收藏0
  • Python基础学习之常用六大数据类型

    摘要:刚开始学习一门编程语言,除了了解运行环境与语言类型之外,最基本还是从该语言的基本数据类型开始学起。六大常用数据类型整数浮点数字符串列表元组字典讲解这些先说一下中的变量与变量名。支持对整数和浮点数直接进行四则混合运算。 刚开始学习一门编程语言,除了了解运行环境与语言类型之外,最基本还是从该语言的基本数据类型开始学起。 Python六大常用数据类型: int 整数 floa...

    GT 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<