Python基础——基本数据类型

Python基础——基本数据类型


1. 字符串

1.1 字符串的拼接

在python中,字符串使用运算符+进行拼接。同时,若要将字符串与数字进行拼接,需要使用str()函数对数字进行显式类型转换。示例代码如下:

first = "Joey"
last = "Mao"
name = first + " " + last
age = 23
print("My name is " + name + ". And I'm " + str(age) + " years old.")

以下为运行结果:

My name is Joey Mao. And I'm 23 years old.

1.2 字符串的输出格式控制

对字符串对象,调用title()upper()lower()方法返回一个字符串对象,实现对字符串进行标题化,大写化,小写化的操作。

值得注意的是,这些操作并不会改变对象本身的值。

示例代码如下:

name = "joey Mao"
print("name.title(): " + name.title())
print("name.upper(): " + name.upper())
print("name.lower(): " + name.lower())

以下为运行结果:

Joey Mao
JOEY MAO
joey mao

对字符串对象,调用strip()rstrip()lstrip()方法返回一个字符串对象,并忽略字符串两侧、右侧、左侧的空白。

同样地,这些操作并不会改变对象本身的值。

示例代码如下:

name = " joey mao "
print("'" + name.strip() + "'")
print("'" + name.rstrip() + "'")
print("'" + name.lstrip() + "'")

以下为运行结果:

'joey mao'
' joey mao'
'joey mao '

2. 列表

Python中,列表用[]表示,并使用list_name[index]的方式访问列表list_nameindex处的元素。一个列表中的不同元素可以是不同类型。

2.1 列表的操作

  • 列表对象调用append(element)方法,在列表末尾添加元素element
  • 列表对象调用insert(index, element)方法,在列表index处添加元素element
  • 使用语句del list_name[index]语句删除列表list_nameindex处的元素。
  • 列表对象调用不含参数的pop()方法返回列表末尾的元素,并在列表中删除这个元素。
  • 列表对象调用pop(index)方法返回列表在index处的元素,并且在列表中删除这个元素。
  • 列表对象调用remove(value)方法删除列表的一个值为value的元素(一般为找到的第一个)。

示例程序如下:

numbers = ['1', '2', '3', '4', '5', '6']
print("Numbers: " + str(numbers))
numbers.append('7')
print("After append('7'): " + str(numbers))
numbers.insert(0, '0')
print("After insert(0, '0'): " + str(numbers))
del numbers[7]
print("After del numbers[7]: " + str(numbers))
numbers.pop()
print("After pop(): " + str(numbers))
numbers.pop(0)
print("After pop(0): " + str(numbers))
numbers.remove('1')
print("After remove('1'): " + str(numbers))

以下为运行结果:

Numbers: ['1', '2', '3', '4', '5', '6']
After append('7'): ['1', '2', '3', '4', '5', '6', '7']
After insert(0, '0'): ['0', '1', '2', '3', '4', '5', '6', '7']
After del numbers[7]: ['0', '1', '2', '3', '4', '5', '6']
After pop(): ['0', '1', '2', '3', '4', '5']
After pop(0): ['1', '2', '3', '4', '5']
After remove('1'): ['2', '3', '4', '5']

利用函数len(list_name)可以得到列表对象list_name的长度。

2.2 列表的排序

列表对象调用sort()方法可以实现升序排序并且修改列表本身。若加上参数reverse=True,则可以实现降序排序。

将列表对象作为参数传入sorted()方法可以实现升序排序并且返回一个排序后的列表,并不会修改列表本身。同样地,若加上参数reverse=True,则可以实现降序排序。

示例代码如下:

message = ['I', 'L', 'O', 'V', 'E', 'C', 'A', 'T']
sorted_message = sorted(message)
print("The outcome of sorted(message) is : " + str(sorted_message))
print("The value of message is not changed: " + str(message))
message.sort(reverse=True)
print("After message.sort(reverse=True): " + str(message))

以下为运行结果:

The outcome of sorted(message) is : ['A', 'C', 'E', 'I', 'L', 'O', 'T', 'V']
The value of message is not changed: ['I', 'L', 'O', 'V', 'E', 'C', 'A', 'T']
After message.sort(reverse=True): ['V', 'T', 'O', 'L', 'I', 'E', 'C', 'A']

对列表对象调用reverse()函数,可以将列表倒序排列(并非排序,而是将原列表反向排列。)示例代码如下:

message = ['I', 'L', 'O', 'V', 'E', 'C', 'A', 'T']
message.reverse()
print(message)

以下为运行结果:

['T', 'A', 'C', 'E', 'V', 'O', 'L', 'I']

2.3 遍历列表

遍历列表的一般操作为:

for element in list_name:
    func(element)

在这里我们要注意,尽量避免在循环中修改列表本身。最好的方法是使用列表的一个副本:

for element in list_name[:]:
    func(element)

range(start,end)生成一个以start开头end-1结尾的数字列表(不包含end)。同时,range()函数也可以添加步长参数step生成相邻两数间隔不为1的数字列表。

Python的列表还有一个很强大的功能就是列表解析式。具体语法为[func(element) for element in list_name], 可以用来将某个函数作用到列表上并生成一个新的列表。示例代码如下:

squares = [value**2 for value in range(1,11)]  # 对1,2,3,4,5,6,7,8,9,10的求平方
print(value)

以下为运行结果:

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

2.4 列表的切片

所谓列表切片就是处理列表的一部分。

students = ['Joey', 'Rhona', 'Stella', 'Lena', 'Tina', 'Kim', 'Keen', 'Steven']
print(students[0:3])   # 打印前三个
print(students[:3])    # 打印前三个
print(students[-3:])   # 打印后三个
print(students[2:5])   # 打印第2,第3,第4个
print(students[2:])    # 除前2个外打印所有
print(students[:-3])   # 除后3个外打印所有

以下为运行结果:

['Joey', 'Rhona', 'Stella']
['Joey', 'Rhona', 'Stella']
['Kim', 'Keen', 'Steven']
['Stella', 'Lena', 'Tina']
['Stella', 'Lena', 'Tina', 'Kim', 'Keen', 'Steven']
['Joey', 'Rhona', 'Stella', 'Lena', 'Tina']

列表的切片还有一个作用就是可以复制一个列表,而不改变原来列表的值。

lst = [1, 2, 3, 4, 5, 6, 7, 8]
lst1 = lst               # lst的一个别名,改变lst1会改变lst
lst2 = lst[:]            # lst的一个复制,操作不会改变lst的值
print(lst)
lst1.pop()
print("在操作lst1.pop()后,lst发生了改变:" )
print(lst)
lst2.pop()
print("在操作lst2.pop()后,lst没有发生了改变:")
print(lst)

以下为运行结果:

[1, 2, 3, 4, 5, 6, 7, 8]
在操作lst1.pop()后,lst发生了改变:
[1, 2, 3, 4, 5, 6, 7]
在操作lst2.pop()后,lst没有发生了改变:
[1, 2, 3, 4, 5, 6, 7]

3. 元组

元组即“不可变的列表”,使用()来标识,可以和列表一样使用索引来进行访问,也可以使用for进行遍历,但元组是被禁止修改的。


4. 字典

字典是Python中一种独特且强大的数据结构,由一些无序键值对构成,且可以通过键来访问对应的值。

4.1 字典的构造与修改

在Python中,字典使用{}构造:my_dict = {'key1': value2, 'key2': value2, ...}

也可以在已经构造的字典中直接添加键值对:my_dict['new_key'] = new_value

想要修改某个键对应的值,直接按键名对字典进行索引,并且赋值:my_dict['key'] = new_value

若希望删除字典的某个键值对,则需要调用del语句:del my_dict['key']

4.2 字典的遍历

若需要遍历字典的键值对,使用如下语句:

for key, value in my_list.items():
    func(key, value)

若仅需要遍历字典的键,则使用如下语句:

for key in my_list.keys():
    func(key)

若仅需要遍历字典的值,则使用如下语句:

for value in my_list.values():
    func(value)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值