【python基础】

举报
Lingxw_w 发表于 2023/05/22 13:23:41 2023/05/22
【摘要】 ​目录一、数据类型1.1 字符串1.2 整数与浮点数1.3 布尔值1.4类型转换二、数据结构2.1 列表(list)2.2 元组(tuple)2.3 集合(set)2.4字典(dict)2.5 列表、元组、集合、字典的互相转换2.6列表生成式三、Python控制流一、数据类型1.1 字符串在Python中用引号引起来的字符集称之为字符串,比如:'hello'、"my Python"、"2+3...

目录

一、数据类型

1.1 字符串

1.2 整数与浮点数

1.3 布尔值

1.4类型转换

二、数据结构

2.1 列表(list)

2.2 元组(tuple)

2.3 集合(set)

2.4字典(dict)

2.5 列表、元组、集合、字典的互相转换

2.6列表生成式

三、Python控制流


一、数据类型

1.1 字符串

在Python中用引号引起来的字符集称之为字符串,比如:'hello'、"my Python"、"2+3"等都是字符串 Python中字符串中使用的引号可以是单引号、双引号跟三引号

1.2 整数与浮点数

与c类似。

1.3 布尔值

Ture or False

1.4类型转换

与c类似。

二、数据结构

2.1 列表(list)

用来存储一连串元素的容器,列表用[]来表示,其中元素的类型可不相同。

1.1 列表转为矩阵

mylist= [0, 1, 2, 3, 4, 5]     # 列表=数组,但是数据元素可以是很多种类
print (mylist)
[0, 1, 2, 3, 4, 5]

列表索引和切片

# 索引从0开始,含左不含右
print ('[4]=', mylist[4])
print ('[-4]=', mylist[-4])
print ('[0:4]=', mylist[0:4])
print ('[:4]=', mylist[:4])#dddd
print( '[4:]=', mylist[4:])
print ('[0:4:2]=', mylist[0:4:2])  # 相隔几个选择一个 !
print ('[-5:-1:]=', mylist[-5:-1:])
print ('[-2::-1]=', mylist[-2::-1])
[4]= 4
[-4]= 2
[0:4]= [0, 1, 2, 3]
[:4]= [0, 1, 2, 3]
[4:]= [4, 5]
[0:4:2]= [0, 2]
[-5:-1:]= [1, 2, 3, 4]
[-2::-1]= [4, 3, 2, 1, 0]

修改列表

mylist[3] = "小月"
print (mylist[3])

mylist[5]="小楠"
print (mylist[5])

mylist[5]=19978
print (mylist[5])
小月
小楠
19978
print (mylist)
[0, 1, 2, '小月', 4, 19978]

插入元素

mylist.append('han') # 添加到尾部
mylist.extend(['long', 'wan'])
print (mylist)
[0, 1, 2, '小月', 4, 19978, 'han', 'long', 'wan']
scores = [90, 80, 75, 66]
mylist.insert(1, scores) # 添加到指定位置
mylist
[0, [90, 80, 75, 66], 1, 2, '小月', 4, 19978, 'han', 'long', 'wan']

删除元素

print (mylist.pop(1)) # 该函数返回被弹出的元素,不传入参数则删除最后一个元素    输出
print (mylist)
[90, 80, 75, 66]
[0, 1, 2, '小月', 4, 19978, 'han', 'long', 'wan']

判断元素是否在列表中等

print( 'wan' in mylist)
print ('han' not in mylist)
True
False
mylist.count('wan')
1
mylist.index('wan')

8

range函数生成整数列表

print (range(10))   # range是一个整型列表
print (range(-5, 5))
print (range(-10, 10, 2))
print (range(16, 10, -1))
range(0, 10)
range(-5, 5)
range(-10, 10, 2)
range(16, 10, -1)

2.2 元组(tuple)

元组类似列表,元组里面的元素也是进行索引计算。列表里面的元素的值可以修改,而元组里面的元素的值不能修改,只能读取。元组的符号是()。

studentsTuple = ("ming", "jun", "qiang", "wu", scores)
studentsTuple
try:
    studentsTuple[1] = 'fu'
except TypeError:
    print ('TypeError')

('ming', 'jun', 'qiang', 'wu', [90, 80, 75, 66])

TypeError

'ming' in studentsTuple
True
studentsTuple[0:4]
('ming', 'jun', 'qiang', 'wu')
studentsTuple.count('ming')
1
studentsTuple.index('jun')
1
len(studentsTuple)
5

2.3 集合(set)

Python中集合主要有两个功能,一个功能是进行集合操作,另一个功能是消除重复元素。 集合的格式是:set(),其中()内可以是列表、字典或字符串,因为字符串是以列表的形式存储的。

studentsSet = set(mylist)
print (studentsSet)
{0, 1, 2, 'han', 4, '小月', 19978, 'wan', 'long'}
studentsSet.add('xu')
print (studentsSet)
{0, 1, 2, 'han', 4, '小月', 'xu', 19978, 'wan', 'long'}
studentsSet.remove('xu')
print (studentsSet)
{0, 1, 2, 'han', 4, '小月', 19978, 'wan', 'long'}
a = set("abcnmaaaaggsng")
print ('a=', a)
a= {'c', 'a', 'b', 's', 'm', 'g', 'n'}
b = set("cdfm")
print ('b=', b)
b= {'m', 'c', 'd', 'f'}
#交集
x = a & b 
print( 'x=', x)
x= {'m', 'c'}
#并集
y = a | b
print ('y=', y)
#差集
z = a - b
print( 'z=', z)
#去除重复元素
new = set(a)
print( z)
y= {'c', 'a', 'b', 's', 'd', 'm', 'g', 'f', 'n'}
z= {'a', 'b', 's', 'g', 'n'}
{'a', 'b', 's', 'g', 'n'}

2.4字典(dict)

Python中的字典dict也叫做关联数组,用大括号{}括起来,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度,其中key不能重复。

k = {"name":"weiwei", "home":"guilin"}
print (k["home"])
guilin
print( k.keys())
print( k.values())
dict_keys(['name', 'home'])
dict_values(['weiwei', 'guilin'])

添加、修改字典里面的项目

k["like"] = "music"
k['name'] = 'guangzhou'
print (k)
{'name': 'guangzhou', 'home': 'guilin', 'like': 'music'}
k.get('edu', -1) # 通过dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value
-1

删除key-value元素

k.pop('like')
print (k)
{'name': 'guangzhou', 'home': 'guilin'}

2.5 列表、元组、集合、字典的互相转换

2.6列表生成式

三种形式

  • [<表达式> for (条件变量) in (集合)]
  • [<表达式> for (条件变量) in (集合) if <'True or False'表达式>]
  • [<表达式> if <'True or False'表达式> else <表达式> for (条件变量) in (集合) ]
fruits = ['"Apple', 'Watermelon', '"Banana"']
[x.strip('"') for x in fruits]
['Apple', 'Watermelon', 'Banana']
# 另一种写法
test_list=[]
for x in fruits:
    x=x.strip('"')
    test_list.append(x)
test_list
['Apple', 'Watermelon', 'Banana']
[x ** 2 for x in range(21) if x%2]
[1, 9, 25, 49, 81, 121, 169, 225, 289, 361]
# 另一种写法
test_list=[]
for x in range(21):
    if x%2:
        x=x**2
        test_list.append(x)
test_list
[1, 9, 25, 49, 81, 121, 169, 225, 289, 361]
[m + n for m in 'ABC' for n in 'XYZ']
['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']
# 另一种写法
test_list=[]
for m in 'ABC':
    for n in 'XYZ':
        x=m+n
        test_list.append(x)
test_list
d = {'x': 'A', 'y': 'B', 'z': 'C' }
[k + '=' + v for k, v in d.items()]
['x=A', 'y=B', 'z=C']
# 另一种写法
test_list=[]
for k, v in d.items():
    x=k + '=' + v
    test_list.append(x)
test_list

三、Python控制流

在Python中通常的情况下程序的执行是从上往下执行的,而某些时候我们为了改变程序的执行顺序,使用控制流语句控制程序执行方式。Python中有三种控制流类型:顺序结构、分支结构、循环结构。

另外,Python可以使用分号";"分隔语句,但一般是使用换行来分隔;语句块不用大括号"{}",而使用缩进(可以使用四个空格)来表示。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。